Java forEach 方式遍历集合(Java 8 新特性)

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 语言使用的简化。

posted @ 2020-09-15 13:46  Binge-和时间做朋友  阅读(1537)  评论(0编辑  收藏  举报