1. 程式人生 > >Java中forEach使用lambda表示式,陣列和集合區別

Java中forEach使用lambda表示式,陣列和集合區別

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