Stream流常用操作
Stream流是Java 8引入的一个新特性,它提供了一种更简洁、更高效的方式来处理集合数据。Stream流的操作可以分为两种:中间操作和终端操作。
中间操作(Intermediate Operations):
- filter(Predicate<T> predicate):根据指定的条件过滤流中的元素。
- map(Function<T, R> mapper):将流中的每个元素通过指定的函数映射为另一个元素。
- flatMap(Function<T, Stream<R>> mapper):将流中的每个元素通过指定的函数映射为一个流,并将所有流合并为一个流。
- distinct():去除流中的重复元素。
- sorted(Comparator<T> comparator):对流中的元素进行排序。
- peek(Consumer<T> action):对流中的每个元素执行指定的操作,但不改变流中的元素。
终端操作(Terminal Operations):
- forEach(Consumer<T> action):对流中的每个元素执行指定的操作。
- toArray():将流中的元素转换为数组。
- reduce(BinaryOperator<T> accumulator):将流中的元素依次进行指定的二元操作,返回一个Optional对象。
- collect(Collector<? super T, A, R> collector):将流中的元素收集到指定的容器中,返回一个新的容器。
- min(Comparator<T> comparator):返回流中的最小元素。
- max(Comparator<T> comparator):返回流中的最大元素。
- count():返回流中的元素个数。
- anyMatch(Predicate<T> predicate):判断流中是否有任意一个元素满足指定的条件。
- allMatch(Predicate<T> predicate):判断流中是否所有元素都满足指定的条件。
- noneMatch(Predicate<T> predicate):判断流中是否没有元素满足指定的条件。
- findFirst():返回流中的第一个元素。
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· Manus重磅发布:全球首款通用AI代理技术深度解析与实战指南
· 被坑几百块钱后,我竟然真的恢复了删除的微信聊天记录!
· 没有Manus邀请码?试试免邀请码的MGX或者开源的OpenManus吧
· 园子的第一款AI主题卫衣上架——"HELLO! HOW CAN I ASSIST YOU TODAY
· 【自荐】一款简洁、开源的在线白板工具 Drawnix