JDK8到今天已經出了好幾年了 可是在公司能用到新特性的地方仍是不多,api
去年的時候當時項目老大要求咱們用最新的寫法來寫Java併發
剛開始看到用stream寫出來的代碼一臉懵逼,心裏就在想 這是Java嗎?函數
後面開始看api文檔 發現這樣寫出來的代碼簡潔不少,性能也更好性能
今天寫篇博客來介紹流和foreach文檔
在jdk8之前 咱們寫循環的時候基本上都是用get
for (StudentIdList idList : studentIdList) {
//處理業務
}
這麼寫在個人理解來看 不夠優雅
若是用stream結合foreach來寫
studentIdList.parallelStream().forEach(studentIdList1 -> {
//處理業務
});
如上所述代碼 好像也並無太大的差異
可是咱們能夠結合 filter等函數來過濾一些不須要的數據
例如
studentIdList.parallelStream()
.filter(studentIdList1 -> studentIdList1.getStudentId() != null)
.forEach(studentIdList1 -> {
//處理業務});這樣咱們就能夠不在循環裏面判空 同時由於parallelStream是併發執行的 因此效率也更高並且由於如今業務都會複雜的多,因此這麼寫會節省不少的代碼量