日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當(dāng)前位置: 首頁 > 编程语言 > java >内容正文

java

【Java从入门到头秃专栏 7】语法篇(六) :Lambda表达式(->) 方法引用(::) stream流

發(fā)布時間:2025/3/8 java 29 豆豆
生活随笔 收集整理的這篇文章主要介紹了 【Java从入门到头秃专栏 7】语法篇(六) :Lambda表达式(->) 方法引用(::) stream流 小編覺得挺不錯的,現(xiàn)在分享給大家,幫大家做個參考.

目錄

1 Lambda表達式( -> )

??2 方法引用( :: )

3 Stream流


????????接下來介紹的三種語法叫:Lambda表達式 方法引用 stream流,這三種語法的使用要有特定條件,在一定條件下借助這三種語法可以使代碼十分簡單且優(yōu)雅,但是不要舍本逐末為了使用而使用,這樣的話可能會起到相反的作用。其實大多情況下這種代碼并不是十分常用,但是如果想要閱讀源碼或者說別人的代碼,就需要知道這三種語法的使用規(guī)范了,這就是學(xué)習(xí)三種語法的目的:不是為了裝逼,而是為了不讓別人拿這個在我們面前裝逼。

1 Lambda表達式( -> )

? ? Lambda表達式的作用就是為了簡化函數(shù)式接口的匿名內(nèi)部類的一種代碼寫法,函數(shù)式接口就是內(nèi)部只有一個抽象方法的接口,函數(shù)式接口會使用@FunctionalInterface注解標(biāo)明,Lambda表達式的格式如下:

(匿名內(nèi)部類被重寫方法的形參列表)? ->{

? ? 被重寫方法的方法體;

}

Lambda表達式的簡化寫法:

  • 如果重寫方法的方法體只有一行代碼,同時省略大括號和分號不寫,如果這行代碼是個return語句的話還要省略return不寫
  • ?形參列表的參數(shù)類型也可省略不寫
  • 如果只有一個參數(shù)的話可以同時省略參數(shù)類型和小括號

實現(xiàn)Runnable接口創(chuàng)建線程的Lambda寫法

collections排序的Lambda寫法?

?2 方法引用( :: )

????方法引用是為了進一步的簡化Lambda表達式的寫法,主要有以下四種引用形式:靜態(tài)方法的引用、實例方法的引用、特定類型方法的引用、構(gòu)造器的引用

靜態(tài)方法的引用

?? 被引用靜態(tài)方法的參數(shù)列表要和函數(shù)式接口中抽象方法的參數(shù)列表保持一致

類名::靜態(tài)方法名?

? ?

實例方法的引用

?? 被引用實例方法的參數(shù)列表要和函數(shù)式接口中抽象方法的參數(shù)列表保持一致

對象名::實例方法名?

最經(jīng)典的實例方法就是輸出語句

??

特定類型方法的引用

?? 被引用方法的參數(shù)列表中的第一個參數(shù)作為后面返回語句中方法的調(diào)用者

調(diào)用者的類型::方法

構(gòu)造器的引用

??? 返回值是使用一個構(gòu)造器創(chuàng)建對象

構(gòu)造器::new

3 Stream流

Stream流是用來簡化集合或者數(shù)組中一些API的代碼寫法。要想使用Stream流,需要先獲取到stream流對象才能使用Stream流的API。最終處理好的stream流對象還是應(yīng)該轉(zhuǎn)換為集合。

Stream流獲取

collection集合:集合名.stream()

Map集合:集合名.keySet().stream()

????????集合名.values().stream()

??????集合名.entrySet().stream()

數(shù)組:Arrays.stream(集合名)

常用API:

??? forEach方法沒有返回值、count方法返回值是long型,只有返回值是stream對象的才能一直使用鏈?zhǔn)骄幊桃恢闭{(diào)用下去,只要出現(xiàn)方法的返回值不是stream流對象的話,就不能采用鏈?zhǔn)骄幊獭?/p>

stream流對象轉(zhuǎn)集合、數(shù)組

??? 一個流對象只能被轉(zhuǎn)一次,想要再轉(zhuǎn)就要再次創(chuàng)建流

上一篇:

下一篇:

總結(jié)

以上是生活随笔為你收集整理的【Java从入门到头秃专栏 7】语法篇(六) :Lambda表达式(->) 方法引用(::) stream流的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網(wǎng)站內(nèi)容還不錯,歡迎將生活随笔推薦給好友。