Stream流常用操作

Stream流是Java 8引入的一个新特性,它提供了一种更简洁、更高效的方式来处理集合数据。Stream流的操作可以分为两种:中间操作和终端操作。

中间操作(Intermediate Operations):

  1. filter(Predicate<T> predicate):根据指定的条件过滤流中的元素。
  2. map(Function<T, R> mapper):将流中的每个元素通过指定的函数映射为另一个元素。
  3. flatMap(Function<T, Stream<R>> mapper):将流中的每个元素通过指定的函数映射为一个流,并将所有流合并为一个流。
  4. distinct():去除流中的重复元素。
  5. sorted(Comparator<T> comparator):对流中的元素进行排序。
  6. peek(Consumer<T> action):对流中的每个元素执行指定的操作,但不改变流中的元素。

终端操作(Terminal Operations):

  1. forEach(Consumer<T> action):对流中的每个元素执行指定的操作。
  2. toArray():将流中的元素转换为数组。
  3. reduce(BinaryOperator<T> accumulator):将流中的元素依次进行指定的二元操作,返回一个Optional对象。
  4. collect(Collector<? super T, A, R> collector):将流中的元素收集到指定的容器中,返回一个新的容器。
  5. min(Comparator<T> comparator):返回流中的最小元素。
  6. max(Comparator<T> comparator):返回流中的最大元素。
  7. count():返回流中的元素个数。
  8. anyMatch(Predicate<T> predicate):判断流中是否有任意一个元素满足指定的条件。
  9. allMatch(Predicate<T> predicate):判断流中是否所有元素都满足指定的条件。
  10. noneMatch(Predicate<T> predicate):判断流中是否没有元素满足指定的条件。
  11. findFirst():返回流中的第一个元素。
posted @   hwj7  阅读(78)  评论(0编辑  收藏  举报
相关博文:
阅读排行:
· Manus重磅发布:全球首款通用AI代理技术深度解析与实战指南
· 被坑几百块钱后,我竟然真的恢复了删除的微信聊天记录!
· 没有Manus邀请码?试试免邀请码的MGX或者开源的OpenManus吧
· 园子的第一款AI主题卫衣上架——"HELLO! HOW CAN I ASSIST YOU TODAY
· 【自荐】一款简洁、开源的在线白板工具 Drawnix
点击右上角即可分享
微信分享提示