java8 forEach结合Lambda表达式遍历 List

162 阅读1分钟
@Test
void testJava8ForeachMap() {
    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);

    //普通方式遍历Map
    for(Map.Entry<String, Integer> 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<String> 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<String>() {
        @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);
        }
    });
}