1. 查找与匹配
-
boolean allMatch(Predicate<? super T> predicate) 返回此流的所有元素是否与提供的谓词匹配。
-
boolean anyMatch(Predicate<? super T> predicate) 返回此流的任何元素是否与提供的谓词匹配。
-
boolean noneMatch(Predicate<? super T> predicate) 返回此流的元素是否与提供的谓词匹配
-
Optional<T> findFirst() 返回描述此流的第一个元素的Optional如果流为空,则返回一个空的Optional
-
Optional<T> findAny() 返回描述流的一些元素的Optional如果流为空,则返回一个空的Optional
-
long count() 返回此流中的元素数
-
optional<T> max(Comparator<? super T>) 根据提供的 Comparator返回此流的最大元素
-
Optional<T> min(Comparator<? super T>) 根据提供的 Comparator返回此流的最小元素
-
forEach(Consumer<? super T> action) 对此流的每个元素执行操作
2. 规约
-
Optional<T> reduce(BinaryOperator<T> accumulator)
-
T reduce(T identity, BinaryOperator<T> accumulator)
-
以上两个函数可以将流中元素反复结合起来,得到一个值
3. 收集
-
<R,A> R collect(Collector<? super T,A,R> collector)
-
<R> R collect(Supplier<R> supplier, BiConsumer<R,? super T> accumulator, BiConsumer<R,R> combiner)
-
Collectors类中提供了一系列的功能,这些功能均返回Collector的对象,如 :
- toList() : 将元素存入List中
- toSet() : 将元素存入Set中
- toMap() :
- .....
- counting() : 求元素总数
- averagingInt() : 求平均值
- summingDouble() : 求各项元素之和
- maxBy() 最大值
- minBy() 最小值
4.分组
groupingBy(Function<? super T,? extends K> classifier)
: 分组