


下載本文檔
版權(quán)說(shuō)明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡(jiǎn)介
第Map使用Lambda的forEach實(shí)現(xiàn)跳出循環(huán)操作本來(lái)是要在找到包含了"3"的值之后終止循環(huán)的,結(jié)果break編譯錯(cuò)誤.只好用return試試,神奇的事情發(fā)生了,并沒(méi)有跳出循環(huán),return在這里起到了continue的效果.為什么呢---因?yàn)?)-{}其實(shí)是匿名內(nèi)部類(lèi),匿名內(nèi)部類(lèi)如何能使用break和continue呢,當(dāng)然編譯錯(cuò)誤啊.在匿名內(nèi)部類(lèi)里面return了也僅僅是匿名內(nèi)部類(lèi)的調(diào)用終止,for循環(huán)繼續(xù)下一次循環(huán)而已.所以,無(wú)奈之下,只能曲線救國(guó)了---使用
anyMatch
booleanresult=map.entrySet().stream().anyMatch(e-e.getValue().contains("3"));
if(result){
System.out.println("找到你了呦......");
}
補(bǔ)充知識(shí):java8lambdaforEach循環(huán)與增強(qiáng)for循環(huán)性能對(duì)比
最近新的項(xiàng)目使用jdk1.8版本,于是乎博主想多使用一些lambda的寫(xiě)法,但是對(duì)于lambda并不是很了解所以在網(wǎng)上查了一些性能方面的資料,結(jié)果瞬間心涼,多數(shù)回答為lambdaforEach循環(huán)性能要比傳統(tǒng)循環(huán)差,性能甚至差出十幾倍。然而,經(jīng)過(guò)博主的測(cè)試那些回答是錯(cuò)誤的。
性能對(duì)比的結(jié)論為lambdaforEach增強(qiáng)for,以下給出測(cè)試數(shù)據(jù)。
publicstaticvoidmain(String[]args){
test1();
publicstaticvoidtest1(){
ListUseruserList=initList(10000);
for(inti=1;ii++){
System.out.println("--------------------第"+i+"次");
longt1=System.nanoTime();
testLambda(userList);
longt2=System.nanoTime();
testForeach(userList);
longt3=System.nanoTime();
System.out.println("lambda---"+(t2-t1)/1000+"μs");
System.out.println("增強(qiáng)for--"+(t3-t2)/1000+"μs");
publicstaticvoidtest2(){
ListUseruserList=initList(10000);
longt1=System.nanoTime();
testLambda(userList);
longt2=System.nanoTime();
testForeach(userList);
longt3=System.nanoTime();
testLambda1(userList);
longt4=System.nanoTime();
System.out.println("lambda---"+(t2-t1)/1000+"μs");
System.out.println("增強(qiáng)for--"+(t3-t2)/1000+"μs");
System.out.println("lambda1---"+(t4-t3)/1000+"μs");
*增強(qiáng)for測(cè)試
*@paramuserList
privatestaticvoidtestForeach(ListUseruserList){
for(Useruser:userList){
user.hashCode();
*lambdaforEach測(cè)試
*@paramuserList
privatestaticvoidtestLambda(ListUseruserList){
userList.forEach(user-user.hashCode());
privatestaticvoidtestLambda1(ListUseruserList){
userList.forEach(user-user.hashCode());
*初始化測(cè)試集合
*@paramsize
*@return
privatestaticListUserinitList(intsize){
ListUseruserList=ne
溫馨提示
- 1. 本站所有資源如無(wú)特殊說(shuō)明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁(yè)內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒(méi)有圖紙預(yù)覽就沒(méi)有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫(kù)網(wǎng)僅提供信息存儲(chǔ)空間,僅對(duì)用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 辦公室轉(zhuǎn)租憑合同范本
- 打孔施工合同責(zé)任協(xié)議書(shū)
- 公司聘用電工合同范本
- 煤炭購(gòu)銷(xiāo)合同保密協(xié)議書(shū)
- 個(gè)人店面出租合同范本
- 小吃合作伙伴合同范本
- 交通事故協(xié)商理賠協(xié)議書(shū)
- 智慧水務(wù)系統(tǒng)合同范本
- 培訓(xùn)機(jī)構(gòu)合同入股協(xié)議書(shū)
- 店鋪轉(zhuǎn)讓分期合同范本
- 計(jì)算機(jī)基礎(chǔ)考試知識(shí)試題及答案集
- DB31T 1400-2023 藥品生產(chǎn)全過(guò)程數(shù)字化追溯體系建設(shè)和運(yùn)行規(guī)范
- 浙江省溫州市2025屆高三下學(xué)期三模政治試題 含解析
- 福建廈門(mén)雙十中學(xué)2025屆物理八下期末質(zhì)量跟蹤監(jiān)視試題含解析
- 成人患者營(yíng)養(yǎng)不良診斷與應(yīng)用指南(2025版)解讀課件
- 十五五時(shí)期經(jīng)濟(jì)社會(huì)發(fā)展座談會(huì)十五五如何謀篇布局
- 遵義市購(gòu)房合同協(xié)議
- 2024年四川省天全縣事業(yè)單位公開(kāi)招聘醫(yī)療衛(wèi)生崗筆試題帶答案
- 育兒嫂簽合同協(xié)議
- 【7語(yǔ)期中】合肥市包河區(qū)2024-2025學(xué)年七年級(jí)下學(xué)期4月期中語(yǔ)文試題
- (三診)成都市2022級(jí)高中高三畢業(yè)班第三次診斷性檢物理試卷(含答案)
評(píng)論
0/150
提交評(píng)論