stream()流的一些常用方法
- allMatch() allMatch (Predicate<? super T> predicate): 返回此流的所有元素是否与提供的谓词匹配,返回值类型为 boolean
- anyMatch() anyMatch(Predicate<? super T> predicate):返回此流中的任何元素是否与提供的谓词匹配,返回值类型为boolean
- count() 返回此流中元素的计数,返回值类型为long
- distinct() 返回由不同元素组成的流(去重),返回值类型为 Stream
- filter() filter(Predicate<? super T> predicate:返回由与给定谓词匹配的此流的元素组成的流(根据条件对数据进行过滤),返回值类型为Stream
- findAny() 返回一个Optional描述此流的某些元素,如果流是空的,返回的是空的 Optional。返回值类型为Optional
- findFirst() 返回Optional描述此流的第一个元素,Optional为空,则返回一个空值。返回值类型为Optional
- flatMap() flatMap(Function<? super T,? extends Stream<? extends R>> mapper)返回一个流,其中包含将此流的每个元素替换为通过将提供的映射函数应用于每个元素而生成的映射流的内容的结果。每个映射流都 closed在其内容被放入该流之后。这是一个中间操作。该flatMap()操作具有对流的元素应用一对多转换的效果,然后将生成的元素展平为新的流。返回值类型为: Stream 举例:如果orders是一个采购订单流,并且每个采购订单包含一个行项目集合,则以下生成一个流,其中包含所有订单中的所有行项目: orders.flatMap(order -> order.getLineItems().stream())…
- forEach() forEach(Consumer<? super T> action)对此流的每个元素执行一个操作(遍历操作)。返回值类型 void
- forEachOrdered() forEachOrdered(Consumer<? super T> action): 如果流具有定义的遇到顺序,则按照流遇到顺序为此流的每个元素执行一个操作。此操作一次处理一个元素,如果存在则按遇到顺序。对一个元素 执行操作发生在 对后续元素执行操作之前,但对于任何给定元素,该操作可以在库选择的任何线程中执行。
- limit() limit(long maxSize)返回有该流元素组成的流,被截断为不超过maxSize长度。返回值类型为 Stream
- map() map(Function<? super T,? extends R> mapper) 返回由将给定函数应用于此流的元素的结果组成的流。返回值类型为 Stream
- max() 根据提供的流,返回此流中的最大元素
- min() 根据提供的流,返回此流中的最小元素
- noneMatch() noneMatch(Predicate<? super T> predicate) 返回此流的任何元素是否与提供的谓词匹配。返回值类型为boolean
- skip() skip(long n)再丢弃流的第一个元素后,返回由该流的剩余元素组成n的流
- toArray() 返回包含此流元素的数组,返回值类型 Object[]
- of() a. of(T… values)返回其元素是指定值的顺序有序流 b. of(T t)返回包含单个元素的序列
更多: