java8 Streams API方法总结

一、主要方法汇总

  • 中间操作(Intermediate): 
    map (mapToInt, flatMap 等)、 filter、 distinct、 sorted、 peek、 limit、 skip、 parallel、 sequential、 unordered
  • 终端操作(Terminal): 
    forEach、 forEachOrdered、 toArray、 reduce、 collect、 min、 max、 count、 anyMatch、 allMatch、 noneMatch、 findFirst、 findAny、 iterator
  • 短路操作(Short-circuiting): 
    anyMatch、 allMatch、 noneMatch、 findFirst、 findAny、 limit

二、中间方法:

        - filter(Predicate predicate):过滤Stream中所有不符合predicate的元素。

        - mapToXxx(ToXxxFunction mapper):使用ToXxxFunction对流中的元素执行一对一的转换,该方法返回的新流中包含了ToXxxFunction转换生成的所有元素。

        - peek(Consumer action):依次对流进行一些操作,此方法返回的流与原有流包含相同的元素。此方法主要用于调试。

        - distinct():此方法用于排序流中所有重复的元素,此方法为有状态方法。

        - sorted():对流进行排序,此方法为有状态方法。

        - limit(long maxSize):限制流中的元素个数,此方法为有状态的、短路的方法。

三、终端方法:

        - forEach(Consumer action):遍历流中所有元素。

        - toArray():将流中所有元素转换为数组。

        - reduce():合并流中的元素。

        - min():返回流中所有元素的最小值。

        - max():返回流中所有元素的最大值。

        - count():返回流中所有元素的数量。

        - anyMatch(Predicate predicate):流中是否至少包含一个符合特定条件的元素。

        - allMatch(Predicate predicate):流中是否至少每个元素都符合特定条件。

        - noneMatch(Predicate predicate):流中是否所有元素都不符合特定条件。

        - findFirst():返回流中的第一个元素。

        - findAny():返回流中任意一个元素。

参考链接

原文地址:https://www.cnblogs.com/mithrandirw/p/8473419.html