java8 Stream Api
2019-07-02 11:00:34 0 举报
AI智能生成
Java8-StreamApi
作者其他创作
大纲/内容
Stream概览
什么是stream
流的构成
Stream的生成
从collection和数组中获得
Collection.stream()
Collection.parallelStream() 并行
Arrays.stream(T array) or Stream.of()
从BufferedReader获得
java.io.BufferedReader.lines()
静态工厂
java.util.stream.IntStream.range()
java.nio.file.Files.walk()
自己构建
java.util.Spliterator
其他
Random.ints()
BitSet.stream()
Pattern.splitAsStream(java.lang.CharSequence)
JarFile.stream()
操作类型
Intermediate
一个流可以后面跟随零个或多个intermediate操作。其目的主要是打开流,做出某种程度的数据映射/过滤,然后返回一个新的流,交给下一个操作使用。这类操作都是惰性化的(lazy),就是说,仅仅调用到这类方法,并没有真正开始流的遍历
Terminal
一个流只能有一个terminal操作,当这个操作执行后,流就被使用“光”了,无法再被操作。所以,这必定是流的最后一个操作。Terminal操作的执行,才会真正开始流的遍历,并且会生成一个结果,或者一个side effect。
其他
Stream使用详解
流的构造和转化
流转为其它数据
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
Short-circuiting 操作
anyMatch、 allMatch、 noneMatch、 findFirst、 findAny、 limit
Stream具体操作
Intermediate 操作
map/flatMap
filter
peek
Terminal 操作
foreach
reduce
termimal兼short-circuiting
findFirst
optional
short-circuiting&Intermediate
limit/skip
match
收藏
收藏
0 条评论
下一页