流的終止操作用於觸發流進行流水線處理, 產生流水線處理的結果.結果型別可為任意型別.
終端api 會觸發流進行流水線運算, 常用的終端api 如下:api 簽名
描述boolean allmatch(predicate<? super t> predicate)
短路式檢查所有元素是否都符合條件, 遇到乙個不符合的則結束
boolean anymatch(predicate<? super t> predicate)
短路式檢查是否至少存在乙個元素符合條件,遇到乙個符合條件的則結束
boolean nonematch(predicate<? super t> predicate)
短路式檢查是否不存在符合條件的元素, 遇到乙個符合條件的則結束
optional findfirst()
返回流中第乙個元素
optional findany()
返回流中任意乙個元素
long count()
返回流中元素的數量
optional max(comparator<? super t> comparator)
根據自定義比較規則, 返回流中最大的元素
optional min(comparator<? super t> comparator)
根據自定義比較規則, 返回流中最小的元素
void foreach(consumer<? super t> action)
內部迭代, 消費流中元素
t reduce(t identity, binaryoperator accumulator)
將流中元素迭代式做二元運算, 最終返回乙個值. 有初始值,返回結果必非空
optional reduce(binaryoperator accumulator)
將流中元素迭代式做二元運算, 最終返回乙個值. 無初始值,返回結果可能為空, 所以返回值為optionanl
短路式校驗,判斷流中元素是否全部符合謂詞條件.
@test
public
void
test_allmatch()
);system.out.
println
("所有員工年齡都為男性:"
+ b1)
;}
短路式校驗流中是否存在符合謂詞條件的元素.
@test
public
void
test_anymath()
);system.out.
println
("員工列表中是否包含女性:"
+ b)
;}
短路式校驗, 判斷流中元素是否都不符合條件
@test
public
void
test_nonemath()
);system.out.
println
("員工列表中沒有30歲以下的員工:"
+ b1)
;}
短路式處理, 返回流中第乙個元素, 可能為空, 所以返回值為optional.
@test
public
void
test_findfirst()
短路式處理, 返回流中任意的乙個元素
@test
public
void
test_findany()
返回流中元素數量
@test
public
void
test_count()
自定義排序規則, 返回流中最大的元素
@test
public
void
test_max()
自定義排序規則, 返回流中最小的元素
@test
public
void
test_min()
採用內部迭代方式依次消費流中元素, 也就是遍歷流元素. 可以輸出流元素資訊或者修改流元素屬性等操作.
// 內部迭代, 消費流元素
@test
public
void
test_foreach()
reduce 的計算方式類似於遞迴, 是拿前面計算的結果和流中下乙個元素做運算, 返回結果再與下乙個元素做運算, 直到和最後乙個元素做完運算, 返回乙個結果。
// 歸約
@test
public
void
test_reduce()
java學習day07 常用API
2018.6.11 1.object 所有類的父類 tostring 列印物件的位址值 hashcode 物件的儲存位置的演算法 equals 比較的是記憶體位址,比的是值。對於 如果作用於基本資料型別的變數,則直接比較其儲存的 值 是否相等 如果作用於引用型別的變數,則比較的是所指向的物件的位址 ...
關於java8中的流式計算
流的出現是為了獲得更高的效能,但並不是說使用了流之後效能肯定會得到提公升,因此,我們需要謹慎使用。尷尬,你以為用了流式計算會快很多,然而測試結果並不是 public class streamtest public void setid int id public string getname pub...
Java 8 Streams部分API簡介
寫在前面,下面的鏈式呼叫曾經讓我驚豔過。有時,我會想,一行 如此之長是否真的合適,出了錯也許會比較難找,比如某個set返回不是msginfo物件而是null的話,定位都會是這一行 然而,這不妨礙心中莫名其妙的自豪感,身為碼農,最重要的不是對自己流利 和自身高尚品質的絕對自信麼?笑 d msginfo...