Java8-Stream-終止操做-查找與匹配

終止操做是流操做的最後一步,只有當終止操做出現的時候,其餘中間操做纔會真正被執行。有以下一些終止操做:java

該部分屬於查找與匹配dom

allMatch(Predicate p)        :檢查是否匹配全部元素
anyMatch(Predicate p)      :檢查是否至少匹配一個元素
noneMatch(Predicate p)    :檢查是否沒有匹配全部元素
findFirst()                           :返回第一個元素
findAny()                            :返回當前流中的任意元素code

該部分屬於統計接口

count()                               :返回流中元素總數
max(Comparator c)           :返回流中最大值
min(Comparator c)            :返回流中最小值

forEach(Consumer c) 內部迭代(使用 Collection 接口須要用戶去作迭代,稱爲外部迭代。相反,Stream API 使用內部迭代——它幫你把迭代作了)io

終端操做會從流的流水線生成結果。其結果能夠是任何不是流的值,例如:List、Integer,甚至是 void 。class

拿count舉例:test

@Test
	public void test4() {
		//flatMap類型:將爲每一個元素建立一個流,並最終合併成一個流
		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);
	}
相關文章
相關標籤/搜索