大战熟女丰满人妻av-荡女精品导航-岛国aaaa级午夜福利片-岛国av动作片在线观看-岛国av无码免费无禁网站-岛国大片激情做爰视频

專(zhuān)注Java教育14年 全國(guó)咨詢/投訴熱線:400-8080-105
動(dòng)力節(jié)點(diǎn)LOGO圖
始于2009,口口相傳的Java黃埔軍校
首頁(yè) 學(xué)習(xí)攻略 Java學(xué)習(xí) Java基礎(chǔ)學(xué)習(xí):Java函數(shù)式編程教程

Java基礎(chǔ)學(xué)習(xí):Java函數(shù)式編程教程

更新時(shí)間:2020-04-07 10:59:57 來(lái)源:動(dòng)力節(jié)點(diǎn) 瀏覽2395次


    Java基礎(chǔ)學(xué)習(xí):Java函數(shù)式編程教程,Java8最大的改動(dòng)就是引入了函數(shù)式編程,可以將Lambda當(dāng)作參數(shù)傳遞給函數(shù)。并且引入處理集合的streamAPI、接口的默認(rèn)方法、避免空值異常的Optional<T>類(lèi)。


    Lambda


Java基礎(chǔ)學(xué)習(xí):Java函數(shù)式編程教程


    沒(méi)有使用Lambda之前我們要?jiǎng)?chuàng)建一個(gè)線程可以使用匿名類(lèi)來(lái)實(shí)現(xiàn),如果使用Lambda來(lái)實(shí)現(xiàn):


Java基礎(chǔ)學(xué)習(xí):Java函數(shù)式編程教程


    可以看到Lambda表達(dá)式比之前的匿名類(lèi)更簡(jiǎn)潔,易讀。


    Java8沒(méi)有直接定義一種函數(shù)類(lèi)型,而時(shí)定義了函數(shù)式接口來(lái)應(yīng)用Lambda表達(dá)式。理論上時(shí)只要時(shí)有一個(gè)抽象方法的接口都可以用來(lái)傳遞Lambda表達(dá)式,就像上面線程的例子中Runnable接口中就只有一個(gè)run方法。Java8中提供了幾個(gè)常用的函數(shù)式接口:Predicate<T>、Consumer<T>、Function<T,R>


    Stream


    為了更好地處理集合,并且可以很好的并行編程。Java8中提供了stream來(lái)簡(jiǎn)化集合的操作,并且可以并行運(yùn)行,很好地利用多核的CPU。


Java基礎(chǔ)學(xué)習(xí):Java函數(shù)式編程教程


    如果以前你想操作list的數(shù)據(jù),你需要自己遍歷出來(lái),并且做相應(yīng)的操作,相當(dāng)于式命令式的編程,現(xiàn)在你可以像自然語(yǔ)言一樣編程,比如過(guò)濾就使用filter,可以實(shí)現(xiàn)聲明式編程。stream中提供了很多方便的API來(lái)處理集合,以后在處理集合時(shí)多考慮下stream類(lèi),可以讓你代碼更優(yōu)雅。同時(shí)可以使用parallelStream達(dá)到并行化,不用自己再考慮并行的問(wèn)題。


    默認(rèn)方法


    一般接口如果新增了方法,其子類(lèi)必然需要增加其實(shí)現(xiàn)。但是Java8中需要為集合增加排序方法,其子類(lèi)都需要改變。所以Java8引入的默認(rèn)方法,這樣接口中就可以實(shí)現(xiàn)該方法,不用子類(lèi)去實(shí)現(xiàn)。


Java基礎(chǔ)學(xué)習(xí):Java函數(shù)式編程教程


    接口中既然有默認(rèn)方法,相當(dāng)于Java中就有多繼承的概念,因?yàn)榭梢詫?shí)現(xiàn)多個(gè)接口,如果多個(gè)接口都有默認(rèn)方法,相當(dāng)于就有了多繼承。這里需要注意多個(gè)接口中默認(rèn)方法的沖突。


    Optional


    Optional類(lèi)大家可以自己去研究下,在使用stream流的時(shí)候有很多都是返回Optional類(lèi),而非實(shí)際的對(duì)象,從而避免空指針的出現(xiàn)。


Java基礎(chǔ)學(xué)習(xí):Java函數(shù)式編程教程


    Java8可以說(shuō)對(duì)于程序員來(lái)說(shuō)改動(dòng)是很大的,主要還是大家要適應(yīng)函數(shù)式編程。習(xí)慣函數(shù)式編程后可以讓代碼更加簡(jiǎn)潔、易讀。Stream流使用了很大函數(shù)式編程,讓集合的遍歷和處理邏輯分開(kāi),使大家能輕松做到并行編程,并且以聲明式的方式進(jìn)行編程。本文只是給大家簡(jiǎn)單介紹下Java8中的函數(shù)式編程,希望大家在下面自己用用,并且用到工程中去。


  以上就是動(dòng)力節(jié)點(diǎn)java培訓(xùn)機(jī)構(gòu)的小編針對(duì)“Java基礎(chǔ)學(xué)習(xí):Java函數(shù)式編程教程”的內(nèi)容進(jìn)行的回答,希望對(duì)大家有所幫助,如有疑問(wèn),請(qǐng)?jiān)诰€咨詢,有專(zhuān)業(yè)老師隨時(shí)為你服務(wù)


提交申請(qǐng)后,顧問(wèn)老師會(huì)電話與您溝通安排學(xué)習(xí)

免費(fèi)課程推薦 >>
技術(shù)文檔推薦 >>
主站蜘蛛池模板: 亚洲精品一区二区手机在线 | 久久免费看视频 | 国产日产久久高清欧美一区 | 亚洲婷婷综合色高清在线 | 男人搡女人视频免费看 | 黄色毛片大全 | 天天操伊人 | 精品国产日韩久久亚洲 | 精彩视频一区二区 | 四虎影视2022入口网址 | 国产一区自拍视频 | 高清欧美色欧美综合网站 | 国产精品亚洲二区在线 | 曰本女人视频69xxx | 第一福利视频 | 国内欧美一区二区三区 | www.亚洲天堂 | 九九精品久久久久久噜噜 | 亚洲国产欧美精品一区二区三区 | 99视频久久 | 亚洲欧洲国产精品 | 国产高清一区二区三区视频 | 成人在线一区二区三区 | 日韩 欧美 | 国产免费不卡 | 日韩精品一区二区三区中文字幕 | 精品国产影院 | 伊人中文字幕在线 | 久久久免费观成人影院 | 四虎国产精品免费久久麻豆 | 亚洲精品一 | 中文字幕一级毛片视频 | 奇米亚洲春色 | 久久精品国产福利国产秒 | 毛片视频免费观看 | 欧美日本在线一区二区三区 | 国产a视频| 欧美做爰xxxⅹ在线视频hd | 伊人久久大香焦 | 免费一级a毛片在线播 | 中文字幕高清免费不卡视频 |