在日常的編碼中,我們經常要對集合類物件進行處理。jdk8之前,我們可能要用for迴圈等方式來處理集合中的每乙個元素。不過jdk8的lambda表示式給了我們更方便的選擇。
關於lambda表示式和stream的介紹,這裡有一篇文章寫得非常好,詳細易懂。jdk 8 函式式程式設計入門
既然本文是要寫一些常用的例子,那就直接上demo了。
1.先建立乙個簡單的實體類
@data
@builder
public class defaulttestbean
2.初始化乙個我們要處理的listprivate listinitlist()
3.開始搞事情,看注釋就好/**
* 盤他!
*/public void showmehowtousestream()
public static void printjsonstring(string title, t t)
執行showmehowtousestream方法,我們可以看到以下輸出:
initlist:[,,,]
namelist:["小白","小紅","小黃","小藍"]
highcorelist:[,,]
sortlist:[,,,]
idbeanmap:,2:,3:,4:}
idnamemap:
arealistmap:,],"b":,"c":}
4.有些小坑
在轉map時,key值需要唯一,否則會報錯。
看demo:
public void trap()
}
個人認為,對於集合類的日常處理,差不多就是這幾種。如果以後發現還會經常用到其他的處理方式,會補充進來的。
其次,自己在想這種把內容直接寫到**注釋裡的方式,可讀性如何。因為我感覺對於一些實用性的文章,還是要多上一些**和demo會有更高的價值。所以想著,如果直接把**丟上來,然後把文章要解釋的內容以注釋的形式填充到**裡,那是不是看完這段**就能一次性的接受了內容和實踐效果?之後的文章也可以繼續這樣試一試。
JDK8新特性之Lambda表示式
lambda表示式主要是替換了原有匿名內部類的寫法,也就是簡化了匿名內部類的寫法。lambda語法結構 引數1,引數2.先看乙個使用匿名內部類定義乙個新執行緒的方法 test public void test1 start for int x 0 x 100 x 使用lambda表示式則可以簡化匿名...
JDK8新特性之Lambda表示式
j a 8的乙個大亮點是引入lambda表示式,使用它設計的 會更加簡潔。當開發者在編寫lambda表示式時,也會隨之被編譯成乙個函式式介面。一行執行語句的寫法 parameters expression如果有多行執行語句,可以加上 parameters 如 public intadd int x,...
jdk8 之方法引用
方法引用 實際上是lamda函式的語法糖 有時候並不適用 我們可以講方法引用看做乙個函式指標.function pointer 方法引用分為4類 類名 靜態方法名 建立乙個類 public class student public void setname string name public in...