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

  • 12
    点赞
  • 16
    收藏
    觉得还不错? 一键收藏
  • 2
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值