Java 8 forEach examples 修改教程

这篇文章我们将向你展示遍历一个 List 和一个 Map 使用 Java 8 的forEach.

1. forEach 遍历 Map

1.1 通常情况下遍历 Map 是像下面这样.

Map<string, integer=""> items = new HashMap&lt;&gt;();
    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 在 Java 8 里面你可以用forEach + lambda表达式 来遍历 Map.

Map<string, integer=""> items = new HashMap&lt;&gt;();
    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)-&gt;System.out.println("Item : " + k + " Count : " + v));

    items.forEach((k,v)-&gt;{
        System.out.println("Item : " + k + " Count : " + v);
        if("E".equals(k)){
            System.out.println("Hello E");
        }
    });

2. forEach 遍历 List

2.1 通常情况下遍历 List 是像下面这样.

List<string> items = new ArrayList&lt;&gt;();
    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 在 Java 8 里面你可以用forEach + lambda表达式 来遍历 Map 或者使用方法引用.

List<string> items = new ArrayList&lt;&gt;();
    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-&gt;System.out.println(item));

    //Output : C
    items.forEach(item-&gt;{
        if("C".equals(item)){
            System.out.println(item);
        }
    });

    //方法引用
    //Output : A,B,C,D,E
    items.forEach(System.out::println);

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

参考

  1. Java 8 Iterable forEach JavaDoc
  2. [Java 8 forEach JavaDoc][]

[Java 8 forEach JavaDoc]: https://docs.oracle.com/javase/8/docs/api/java/util/Map.html#forEach-java.util.function.BiConsumer-

如果觉得JSRUN的教程对您有用,请随意打赏。您的支持将鼓励JSRUN继续提供更好的服务

捐助JSRUN
JSRUN前端教程共编系统是国内最先开创的教程维护系统, 所有工程师都可以参与共同维护的本前端教程,让知识的积累变得统一完整、自成体系。 希望广大工程师能一起参与进共编,让零散在世界各处的知识点找到组织、找到家。
X
支付宝
9.99
请使用支付宝扫码支付, 有效时间 5分0秒
超过有效时间后请立即停止支付。
支付故障请联系QQ:565830900
因10.00元通道已占用,系统建议您支付9.99元
正在生成二维码, 此过程可能需要15秒钟
谢谢支持,我一定会更加努力的