Java中forEach使用lambda表示式,陣列和集合區別
阿新 • • 發佈:2018-12-09
1.陣列怎麼使用lambda
陣列不能直接在forEach中使用lambda表示式
PartnerType[] values = PartnerType.values();
//提示Cannot resolve method 'forEach(<method reference>)
values.forEach(System.out::println);//錯誤使用
想要使用必須轉換,如下
(1)轉成list
(2)轉成steam
PartnerType[] values = PartnerType.values(); Arrays.stream(values).forEach(System.out::println);//轉成流 Arrays.asList(values).forEach(System.out::println);//轉成list
2.集合怎麼使用lambda
(1)list在forEach中使用lambda
ArrayList<String> arrayList = new ArrayList<>();
arrayList.add("a");
arrayList.add("b");
arrayList.add("c");
arrayList.forEach(System.out::println);
(2)map在forEach中使用lambda
HashMap<String, Integer> hashMap = new HashMap<>(); hashMap.put("a",1); hashMap.put("b",2); hashMap.put("c",3); hashMap.put("d",4); hashMap.forEach((k,v)->System.out.println(k+"_"+v.intValue()));