Java8-Stream-终止操作-查找与匹配
2019獨角獸企業(yè)重金招聘Python工程師標準>>>
終止操作是流操作的最后一步,只有當終止操作出現(xiàn)的時候,其他中間操作才會真正被執(zhí)行。有如下一些終止操作:
該部分屬于查找與匹配
allMatch(Predicate p) ? ? ? ?:檢查是否匹配所有元素
anyMatch(Predicate p) ? ? ?:檢查是否至少匹配一個元素
noneMatch(Predicate p) ? ?:檢查是否沒有匹配所有元素
findFirst() ? ? ? ? ? ? ? ? ? ? ? ? ? :返回第一個元素
findAny() ? ? ? ? ? ? ? ? ? ? ? ? ? ?:返回當前流中的任意元素
該部分屬于統(tǒng)計
count() ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? :返回流中元素總數(shù)
max(Comparator c) ? ? ? ? ? :返回流中最大值
min(Comparator c) ? ? ? ? ? ?:返回流中最小值
forEach(Consumer c) 內(nèi)部迭代(使用 Collection 接口需要用戶去做迭代,稱為外部迭代。相反,Stream API 使用內(nèi)部迭代——它幫你把迭代做了)
終端操作會從流的流水線生成結(jié)果。其結(jié)果可以是任何不是流的值,例如:List、Integer,甚至是 void 。
拿count舉例:
@Testpublic void test4() {//flatMap類型:將為每個元素創(chuàng)建一個流,并最終合并成一個流List<List> lp = new ArrayList();for(int i=0;i<3;i++) {List<Double> lc = new ArrayList();for(int j=0;j<10;j++) {lc.add(Math.random());}lp.add(lc);}System.out.println(lp.stream().flatMap((x)->x.stream()).count());//lp.stream().flatMap((x)->x.stream()).forEach(System.out::println);}?
轉(zhuǎn)載于:https://my.oschina.net/u/3049601/blog/1623572
總結(jié)
以上是生活随笔為你收集整理的Java8-Stream-终止操作-查找与匹配的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 正则表达式使用及常见表达式汇总
- 下一篇: 【51nod】1239 欧拉函数之和 杜