Java forEach()

Giới thiệu về Java forEach()

Phương thức forEach() trong Java là một phần của giao diện Iterable và được giới thiệu từ Java 8. Đây là một cách thuận tiện để lặp qua các phần tử trong một collection mà không cần phải sử dụng vòng lặp truyền thống như for hoặc while. Phương thức này cho phép bạn thực hiện một hành động cụ thể trên mỗi phần tử của collection theo cách dễ đọc và thẩm mỹ hơn.

Định nghĩa

Phương thức forEach() được định nghĩa trong giao diện Iterable và nhận vào một đối tượng kiểu Consumer. Đối tượng này sẽ chứa logic mà bạn muốn áp dụng cho mỗi phần tử trong collection.

Cú pháp

collection.forEach(action);

Trong đó:

  • collection: là một đối tượng collection (như List, Set, Map, v.v.) mà bạn muốn lặp qua.
  • action: là một đối tượng Consumer chứa hành động bạn muốn thực hiện cho mỗi phần tử trong collection.

Ví dụ sử dụng Java forEach()

Ví dụ 1: Sử dụng với ArrayList

import java.util.ArrayList;
import java.util.List;

public class ForEachExample {
    public static void main(String[] args) {
        List names = new ArrayList<>();
        names.add("Alice");
        names.add("Bob");
        names.add("Charlie");

        // Sử dụng forEach để in tên
        names.forEach(name -> System.out.println(name));
    }
}

Ví dụ 2: Sử dụng với HashMap

import java.util.HashMap;
import java.util.Map;

public class ForEachMapExample {
    public static void main(String[] args) {
        Map map = new HashMap<>();
        map.put(1, "Alice");
        map.put(2, "Bob");
        map.put(3, "Charlie");

        // Sử dụng forEach để in key và value
        map.forEach((key, value) -> System.out.println(key + ": " + value));
    }
}

Ví dụ 3: Sử dụng với Stream API

import java.util.Arrays;
import java.util.List;

public class ForEachStreamExample {
    public static void main(String[] args) {
        List numbers = Arrays.asList(1, 2, 3, 4, 5);

        // Sử dụng Stream và forEach để tính tổng
        int sum = numbers.stream()
                         .mapToInt(Integer::intValue)
                         .sum();
        
        System.out.println("Tổng: " + sum);
    }
}

Kết luận

Phương thức forEach() trong Java là một công cụ mạnh mẽ giúp lập trình viên dễ dàng lặp qua các phần tử trong collection mà không cần phải viết code vòng lặp phức tạp. Nó giúp mã nguồn trở nên sạch sẽ và dễ đọc hơn. Hy vọng bài viết này đã giúp bạn hiểu rõ hơn về cách sử dụng phương thức forEach trong Java.