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

原文地址:https://www.cnblogs.com/xddx/p/13423096.html