java Stream-终结操作 forEach

介绍

用于迭代流中的每个数据(相当于 for 循环,循环每一个数据),该方法不会返回 Stream 对象,所以是 终结操作

在 forEach() 方法中,可传入 Consumer 对象,或者 lambda表达式

例子:打印每一个元素

传入lambda表达式

List<String> list = new ArrayList<>();
Collections.addAll(list,"李雷", "韩梅梅", "lucy", "lisi","李小四");

list.stream()
        .forEach(item -> System.out.println(item));

传入Consumer对象

循环打印流中的每一个数据

List<String> list = new ArrayList<>();
Collections.addAll(list,"李雷", "韩梅梅", "lucy", "lisi","李小四");

list.stream()
        .forEach(new Consumer<String>() {
            @Override
            public void accept(String item) {
                System.out.println(item);
            }
        });

例子:将数组中的元素拼装成字符串,用,号分割

String[] arr = ["李雷", "韩梅梅", "lucy", "lisi","李小四"];
StringBuilder str = new StringBuilder();
Arrays.stream(arr).forEach(e -> str.append(e + ","));

原文出处:/show_1IX5HAJFml69.html