023_JDK8.0新特性<四>StreamAPI_4_Stream終止操作
阿新 • • 發佈:2020-08-03
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)
:分組