JDK 8 新增 forEach 方式遍歷集合,這種方式比原來的 for each 循環還要簡潔和便利。
需要注意:如果你計算機安裝的是 JDK 8 以前的版本,是不支持 JDK 8 的新特性
List 集合遍歷
- 原先 for each 遍歷 List 集合
List<String> arrayList = new ArrayList<>();
arrayList.add("A");
arrayList.add("B");
arrayList.add("C");
arrayList.add("D");
arrayList.add("E");
for (String item : arrayList){
System.out.println(item);
}
- Java 8 新特性 forEach 遍歷 List 集合
List<String> arrayList = new ArrayList<>();
arrayList.add("A");
arrayList.add("B");
arrayList.add("C");
arrayList.add("D");
arrayList.add("E")
arrayList.forEach(item->System.out.println(item));
- 原先 for each 遍歷 Set 集合
Set<String> setList = new HashSet<>();
setList.add("A");
setList.add("B");
setList.add("C");
setList.add("D");
setList.add("E");
for (String item : setList){
System.out.println(item);
}
- Java 8 新特性 forEach 遍歷 Set 集合
Set<String> setList = new HashSet<>();
setList.add("A");
setList.add("B");
setList.add("C");
setList.add("D");
setList.add("E");
setList.forEach(item->System.out.println(item));
Map 集合遍歷
- 原先 for each 遍歷 Map 集合
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("key:"+entry.getKey()+";value:"+entry.getValue());
}
- Java 8 新特性 forEach 遍歷 Map 集合
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("key : " + k + "; value : " + v));
總結
初學 Java 的童鞋,可能對 JDK 8 新特性中 forEach 的用法感覺很奇怪,這種寫法似乎曾經從未見過。是的,這種寫法是基於 JDK 8 另一個新特性 Java 8 Lambda(拉姆達表達式)而來的。
JDK 8 新增了很多新特性,這些新特性一方面是對 Java 語言功能的擴展,一方面是對 Java 語言使用的簡化。