Java8:forEach

来源:互联网 发布:最好的源码下载网站 编辑:程序博客网 时间:2024/06/07 07:20

forEach and Map

普通循环Map的方法:

Map<String, Integer> items = new HashMap<>();items.put("A", 10);items.put("B", 20);for (Map.Entry<String, Integer> entry : items.entrySet()) {    System.out.println("Item : " + entry.getKey() + " Count : " + entry.getValue());}

在Java 8中,可以使用forEach+lambda表达式来循环Map:

Map<String, Integer> items = new HashMap<>();items.put("A", 10);items.put("B", 20);items.forEach((k,v)->System.out.println("Item : " + k + " Count : " + v));items.forEach((k,v)->{    System.out.println("Item : " + k + " Count : " + v);    if("B".equals(k)){        System.out.println("BBBBBBBBB");    }});

forEach and List

普通循环List的方法:

List<String> items = new ArrayList<>();items.add("A");items.add("B");for(String item : items){    System.out.println(item);}

在Java 8中,可以使用forEach+lambda表达式或方法引用来循环一个List。

List<String> items = new ArrayList<>();items.add("A");items.add("B");//lambda//Output : A,Bitems.forEach(item->System.out.println(item));//Output : Bitems.forEach(item->{    if("B".equals(item)){        System.out.println(item);    }});//method reference//Output : A,Bitems.forEach(System.out::println);//Stream and filter//Output : Bitems.stream().filter(s->s.contains("B")).forEach(System.out::println);
原创粉丝点击