Peek(展示)

peek()方法可以用于在Stream流中获取元素同时执行一些操作,如打印、调试、观察等。通常会与其他的方法联合使用。

public class Main {
public static void main(String[] args) {
List<String> names = Arrays.asList(“Alex”, “Brian”, “Charles”, “David”);
List<String> filteredNames = names.stream()
.peek(System.out::println)
.filter(name -> name.startsWith(“C”))
.peek(name -> System.out.println(“Filtered value: ” + name))
.collect(Collectors.toList());
System.out.println(“—————————————————————–“);
System.out.println(filteredNames);
}
}

代码中创建了一个列表 names 包含四个字符串元素,然后使用流式操作处理这个列表。首先使用 peek() 方法将每个元素打印到控制台,然后使用 filter() 方法过滤掉不符合条件的元素,即不以字母 C 开头的字符串。接下来再次使用 peek() 方法将符合条件的字符串打印到控制台,以便验证过滤操作的效果。最后使用 collect() 方法将符合条件的字符串收集到一个新的列表 filteredNames 中,并输出该列表。
注意到,控制台上先输出了列表中的四个字符串,但只有以字母 C 开头的字符串 Charles 才符合筛选条件,因此仅仅 Charles 被保存在了 filteredNames 列表中。第二个 peek() 方法也被用来打印筛选出的元素 Charles。

版权声明:本文采用知识共享 署名4.0国际许可协议 [BY-NC-SA] 进行授权
文章名称:《Peek(展示)》
文章链接:https://zhuji.vsping.com/5153.html
本站资源仅供个人学习交流,请于下载后24小时内删除,不允许用于商业用途,否则法律问题自行承担。