Stream API
Java8支持了流式编程
流创建
(1)从Collection和数组获得
- Collection.stream()
- Collection.parallelStream()
- Arrays.stream(T array) or Stream.of()
(2)从BufferedReader获得
- java.io.BufferedReader.lines()
(3)静态工厂
- java.util.stream.IntStream.range()
- java.nio.file.Files.walk()
(4)自己构建
- java.util.Spliterator
(5)其他
- Random.ints()
- BitSet.stream()
- Pattern.splitAsStream(java.lang.CharSequence)
- JarFile.stream()
流的操作
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