java8 forEach结合Lambda表达式遍历 List

 @Test
    void testJava8ForeachMap() {
        Map 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);

        //普通方式遍历Map
        for(Map.Entry entry:items.entrySet()){
            System.out.println(entry.getKey()+":"+entry.getValue());
        }

        System.out.println("===================");

        //java8 foreach + 拉姆达表达式遍历Map
        items.forEach((k, v) -> {
            System.out.println(k+":"+v);
        });

    }


    @Test
    void testJava8ForeachList() {
        List items = new ArrayList<>();
        items.add("A");
        items.add("B");
        items.add("C");
        items.add("D");
        items.add("E");

        //普通写法遍历List
        for (String item:items){
            System.out.println(item);
        }

        System.out.println("单独的 forEach 写法==========");

        //单独的 forEach 写法
        Consumer consumer = new Consumer() {
            @Override
            public void accept(String s) {
                System.out.println(s);
            }
        };
        items.forEach(consumer);

        System.out.println("forEach结合Lambda写法==========");
        //输出 A,B,C,D,E
        items.forEach(s -> {
            System.out.println(s);
        });

        System.out.println("forEach结合Lambda写法,添加过滤条件==========");
        //输出 C
        items.forEach((s) -> {
            if("C".equals(s)){
                System.out.println(s);
            }
        });
    }

 

你可能感兴趣的:(java8)