Java 8 forEach使用

Java8 ForEach

本片文章将展示怎么用java8的forEach语法循环一个list或者map。

  • forEach 和Map

    • 通常的方式循环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("Item : " + entry.getKey() + " Count : " + entry.getValue());
          }
    • java8,使用Lambda表达式和foreach

          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");
              }
          });
  • forEach 和List

    • 通常的方式循环list

          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);
          }
    • java8,使用Lambda表达式和foreach

          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);

翻译

ricky 20170728

交流群:244930845

    原文作者:石奈子
    原文地址: https://blog.csdn.net/u014042066/article/details/76286033
    本文转自网络文章,转载此文章仅为分享知识,如有侵权,请联系博主进行删除。
点赞