[Java 8] Duyệt List bằng lệnh forEach

Chào các bạn, hôm nay chúng ta sẽ cùng tìm hiểu về cách duyệt List và Map bằng cách sử dụng cú pháp forEach trong Java 8

1. forEach với Map
1.1 Cách duyệt Map thông thường
Java:
Map<String, Integer> items = new HashMap<>();
items.put("A", 10);
items.put("B", 20);
items.put("C", 30);
items.put("D", 40);
items.put("E", 50);
items.put("F", 60);

for (Map.Entry<String, Integer> entry : items.entrySet()) {
    System.out.println("Item : " + entry.getKey() + " Count : " + entry.getValue());
}
1.2 Trong Java 8, có thể sử dụng cú pháp forEach + biểu thức lambda để duyệt Map
Java:
Map<String, Integer> items = new HashMap<>();
items.put("A", 10);
items.put("B", 20);
items.put("C", 30);
items.put("D", 40);
items.put("E", 50);
items.put("F", 60);

items.forEach((k,v)->System.out.println("Item : " + k + " Count : " + v));

items.forEach((k,v)->{
    System.out.println("Item : " + k + " Count : " + v);
    if("E".equals(k)){
        System.out.println("Hello E");
    }
});
2. forEach với List
2.1 Cách duyệt List thông thường
Java:
List<String> items = new ArrayList<>();
items.add("A");
items.add("B");
items.add("C");
items.add("D");
items.add("E");

for(String item : items){
    System.out.println(item);
}
2.2 Trong Java 8, có thể duyệt List bằng cách sử dụng cú pháp forEach + biểu thức lambda hoặc phương thức tham chiếu (method reference)
Java:
List<String> items = new ArrayList<>();
items.add("A");
items.add("B");
items.add("C");
items.add("D");
items.add("E");

//lambda
//Output : A,B,C,D,E
items.forEach(item->System.out.println(item));
   
//Output : C
items.forEach(item->{
    if("C".equals(item)){
        System.out.println(item);
    }
});
   
//method reference
//Output : A,B,C,D,E
items.forEach(System.out::println);

//Stream and filter
//Output : B
items.stream()
    .filter(s->s.contains("B"))
    .forEach(System.out::println);

Cám ơn các bạn đã theo dõi. Hẹn gặp lại các bạn trong các bài viết sau :)

Bài viết tham khảo tại: https://mkyong.com/java8/java-8-foreach-examples
 
Sửa lần cuối:

Bình luận