1. 程式人生 > 實用技巧 >023_JDK8.0新特性<四>StreamAPI_4_Stream終止操作

023_JDK8.0新特性<四>StreamAPI_4_Stream終止操作

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.分組