Java基礎-Java8特性-Lambda表達式和Stream

Lambda表達式可以理解為:簡寫的函數(shù)式接口的實現(xiàn)斗这。
對于“函數(shù)式接口”的簡化寫法(和其他特性結合構成更加簡潔的代碼結構)

函數(shù)式接口:接口中只有一個抽象方法(可以有默認方法和靜態(tài)方法)佑淀,為了保障只有一個抽象方法绍坝,可以在接口上添加@FunctionalInterface注解

1.語法

(參數(shù))->{

實現(xiàn)方法的方法體 ;

}

注:參數(shù)和方法體只有一個(一條一句)時,()和{}可以省略。

2.用法

  • 配合集合的.forEach()方法進行遍歷,例如:list.forEach(p->syso(p));

還可以再進行簡化list.forEach(system.out::println);(解釋下這里每次遍歷只有一個值所以參 數(shù)不用寫啦芥映,方法前用::標識)

  • 代替匿名內部類(前提是接口為“函數(shù)式接口”)洲尊,如創(chuàng)建線程:new Thread(()->syso()).start();

再如排序:list.sort((o1,o2)-> return o1.param()-o2.param());

  • Stream是對集合的包裝,通常和lambda一起使用。 使用lambdas可以支持許多操作,如 map, filter, limit, sorted, count, min, max, sum, collect 等等

    • filter():過濾數(shù)據奈偏,例如:list.stream().filter(p->(p>10)).forEach();(注意后面的lambda體這次試用()括起來的而不是{})

    • collect():將stream轉成集合坞嘀,例如:list.stream().filter(p->(p>4)).collect(Collectors.toList()/toSet());

    • distinct():排除相同的元素

    • limit():取前幾條 limit(3)

    • skip():拋棄前幾個

    • map():接受一個方法做參數(shù),這個方法會作用在每個元素身上惊来,并將其映射成一個新的函數(shù)丽涩,例如:list.stream().map(Person::getAge).map(String::length).map(s->s.split()).forEach(...);

    • flatMap():和map有點區(qū)別,他能讓我們操作到類似List<List<?>>這種結構中的內層容器的元素裁蚁。流的扁平化如List<List<String>>這種結構矢渊,list.stream().flatMap(list->list.stream())

如果對你有幫助的話,可以點個喜歡加個關注哦枉证,謝謝矮男。
(如果哪里寫的不對,還請大佬不吝賜教)

最后編輯于
?著作權歸作者所有,轉載或內容合作請聯(lián)系作者
  • 序言:七十年代末室谚,一起剝皮案震驚了整個濱河市毡鉴,隨后出現(xiàn)的幾起案子,更是在濱河造成了極大的恐慌秒赤,老刑警劉巖猪瞬,帶你破解...
    沈念sama閱讀 222,104評論 6 515
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件,死亡現(xiàn)場離奇詭異入篮,居然都是意外死亡陈瘦,警方通過查閱死者的電腦和手機,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 94,816評論 3 399
  • 文/潘曉璐 我一進店門潮售,熙熙樓的掌柜王于貴愁眉苦臉地迎上來甘晤,“玉大人,你說我怎么就攤上這事饲做。” “怎么了遏弱?”我有些...
    開封第一講書人閱讀 168,697評論 0 360
  • 文/不壞的土叔 我叫張陵盆均,是天一觀的道長。 經常有香客問我漱逸,道長泪姨,這世上最難降的妖魔是什么? 我笑而不...
    開封第一講書人閱讀 59,836評論 1 298
  • 正文 為了忘掉前任饰抒,我火速辦了婚禮肮砾,結果婚禮上,老公的妹妹穿的比我還像新娘袋坑。我一直安慰自己仗处,他們只是感情好,可當我...
    茶點故事閱讀 68,851評論 6 397
  • 文/花漫 我一把揭開白布。 她就那樣靜靜地躺著婆誓,像睡著了一般吃环。 火紅的嫁衣襯著肌膚如雪。 梳的紋絲不亂的頭發(fā)上洋幻,一...
    開封第一講書人閱讀 52,441評論 1 310
  • 那天郁轻,我揣著相機與錄音,去河邊找鬼文留。 笑死好唯,一個胖子當著我的面吹牛,可吹牛的內容都是我干的燥翅。 我是一名探鬼主播骑篙,決...
    沈念sama閱讀 40,992評論 3 421
  • 文/蒼蘭香墨 我猛地睜開眼,長吁一口氣:“原來是場噩夢啊……” “哼权旷!你這毒婦竟也來了替蛉?” 一聲冷哼從身側響起,我...
    開封第一講書人閱讀 39,899評論 0 276
  • 序言:老撾萬榮一對情侶失蹤拄氯,失蹤者是張志新(化名)和其女友劉穎躲查,沒想到半個月后,有當?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體译柏,經...
    沈念sama閱讀 46,457評論 1 318
  • 正文 獨居荒郊野嶺守林人離奇死亡镣煮,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內容為張勛視角 年9月15日...
    茶點故事閱讀 38,529評論 3 341
  • 正文 我和宋清朗相戀三年,在試婚紗的時候發(fā)現(xiàn)自己被綠了鄙麦。 大學時的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片典唇。...
    茶點故事閱讀 40,664評論 1 352
  • 序言:一個原本活蹦亂跳的男人離奇死亡,死狀恐怖胯府,靈堂內的尸體忽然破棺而出介衔,到底是詐尸還是另有隱情,我是刑警寧澤骂因,帶...
    沈念sama閱讀 36,346評論 5 350
  • 正文 年R本政府宣布炎咖,位于F島的核電站,受9級特大地震影響寒波,放射性物質發(fā)生泄漏乘盼。R本人自食惡果不足惜,卻給世界環(huán)境...
    茶點故事閱讀 42,025評論 3 334
  • 文/蒙蒙 一俄烁、第九天 我趴在偏房一處隱蔽的房頂上張望绸栅。 院中可真熱鬧,春花似錦页屠、人聲如沸粹胯。這莊子的主人今日做“春日...
    開封第一講書人閱讀 32,511評論 0 24
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽矛双。三九已至渊抽,卻和暖如春,著一層夾襖步出監(jiān)牢的瞬間议忽,已是汗流浹背懒闷。 一陣腳步聲響...
    開封第一講書人閱讀 33,611評論 1 272
  • 我被黑心中介騙來泰國打工, 沒想到剛下飛機就差點兒被人妖公主榨干…… 1. 我叫王不留栈幸,地道東北人愤估。 一個月前我還...
    沈念sama閱讀 49,081評論 3 377
  • 正文 我出身青樓,卻偏偏與公主長得像速址,于是被迫代替她去往敵國和親玩焰。 傳聞我的和親對象是個殘疾皇子,可洞房花燭夜當晚...
    茶點故事閱讀 45,675評論 2 359

推薦閱讀更多精彩內容