描述:對集合進行過濾,返回乙個符合特定條件的stream。
原始碼:
stream filter(predicate<? super t> predicate);
測試**:
private listuserlist = new arraylist<>();
@before
public void init()
@test
public void testfilter()
測試結果:
[user, user]
描述:根據當前集合經過處理,得到乙個包含目標型別stream。
原始碼:測試**:
@test
public void testmap()
用上面的使用者列表,經過處理得到乙個含使用者名稱的stream。
測試結果如下:
[zm, zm1, zm2]
描述:根據乙個集合,經過處理得到乙個整數的intstream。
原始碼:
intstream maptoint(tointfunction
<? super
測試**:
@test測試結果:public
void
testmaptoint()
[28, 38, 48]
描述:參考maptoint()
描述:參考maptoint()
描述:取出集合裡面包含的集合屬性的集合的stream。如:list< user>是源集合,每個user包含乙個list< car>集合, 此方法能取出每個user裡面的carlist組合到一起,返回乙個stream。更直觀的參見測試**。
原始碼:測試**:
@before
public void init()
@test
public void testflatmap()
測試結果:
[car, car, car, car, car, car]
測試**:
@test
public void testflatmaptoint());
intstream intstream = userlist.stream().flatmaptoint(user -> intstream.of(user.getage()));
intstream.foreach(age ->);
}
測試結果:
一月 07, 2017
10:22:58 下午 com
.zm.demo
.streamtest lambda$testflatmaptoint$6
資訊: 28
一月 07, 2017
10:22:58 下午 com
.zm.demo
.streamtest lambda$testflatmaptoint$6
資訊: 38
一月 07, 2017
10:22:58 下午 com
.zm.demo
.streamtest lambda$testflatmaptoint$6
資訊: 48
描述:參考flatmaptoint()
描述:參考flatmaptoint()
描述:去除重複的元素
原始碼:
stream distinct();
測試**:
@test
public void testdistinct()
測試結果:
[1, 5, 3, 2, 4]
描述:按自然順序排序
原始碼:
stream sorted();
測試**:
@test
public void testsorted()
測試結果:
[1, 1, 2, 3, 3, 4, 5, 5]
待續。。。 函式式程式設計之純函式
純函式 我們應該還記得初中的一些數學知識,函式f的概念就是,對於輸入x產生乙個輸出y f x 這就是普通的純函式。它的定義是 相同的輸入,結果總會得到相同的輸出,而且沒有任何可觀察的 也不依賴外部環境的狀態。最常見的乙個例子就是在我們運算元組的時候slice就是純函式,splice就是不純的,看下面...
函式式程式設計之lambda
函式式程式設計 在js python等指令碼語言中經常可以看到已函式作為變數來傳遞的用法,這種方法使得程式多是在建立函式 或建立函式 執行 的路上。更甚至一些簡單的方法完全不需要呼叫 引入 庫就可以用簡單的幾行 來解決,可以使得程式專注於做某件事而不被外部因素影響,這個特點使得在多執行緒時不易出現問...
F 程式設計 函式式程式設計之Records
當你想把資料組成乙個結構化的格式,而不需要太複雜的語法時,你可以使用f 中的record型別。record型別與c語言的struct型別基本一樣,儲存一組型別的值,通過欄位的值來獲取。定義乙個record型別很簡單,只需要在大括號內定義系列的名稱 型別就可以。要例項化乙個record,只需要提供對應...