JSRUN 用代码说话

Java 8 forEach示例

编辑教程

这篇文章我们将向你展示遍历一个 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闪电教程系统是国内最先开创的教程维护系统, 所有工程师都可以参与共同维护的闪电教程,让知识的积累变得统一完整、自成体系。 大家可以一起参与进共编,让零散的知识点帮助更多的人。
X
支付宝
9.99
无法付款,请点击这里
金额: 0
备注:
转账时请填写正确的金额和备注信息,到账由人工处理,可能需要较长时间
如有疑问请联系QQ:565830900
正在生成二维码, 此过程可能需要15秒钟