本文章向大家介紹怎么在Java中利用Lambda將List轉(zhuǎn)換成Map的基本知識點總結(jié)和需要注意事項,具有一定的參考價值,需要的朋友可以參考一下。
目前成都創(chuàng)新互聯(lián)已為1000多家的企業(yè)提供了網(wǎng)站建設(shè)、域名、網(wǎng)站空間、網(wǎng)站運營、企業(yè)網(wǎng)站設(shè)計、葉縣網(wǎng)站維護等服務(wù),公司將堅持客戶導向、應(yīng)用為本的策略,正道將秉承"和諧、參與、激情"的文化,與客戶和合作伙伴齊心協(xié)力一起成長,共同發(fā)展。
Java的特點有哪些 1.Java語言作為靜態(tài)面向?qū)ο缶幊陶Z言的代表,實現(xiàn)了面向?qū)ο罄碚摚试S程序員以優(yōu)雅的思維方式進行復雜的編程。 2.Java具有簡單性、面向?qū)ο?、分布式、安全性、平臺獨立與可移植性、動態(tài)性等特點。 3.使用Java可以編寫桌面應(yīng)用程序、Web應(yīng)用程序、分布式系統(tǒng)和嵌入式系統(tǒng)應(yīng)用程序等。
1、告警對象定義如下:
/** * Created by Miracle Luna on 2020/3/16 */ public class AlarmInfoResponse { private String alarmUuid; private String objUuid; public AlarmInfoResponse(String alarmUuid, String objUuid) { this.alarmUuid = alarmUuid; this.objUuid = objUuid; } public String getAlarmUuid() { return alarmUuid; } public void setAlarmUuid(String alarmUuid) { this.alarmUuid = alarmUuid; } public String getObjUuid() { return objUuid; } public void setObjUuid(String objUuid) { this.objUuid = objUuid; } @Override public String toString() { return "AlarmInfoResponse{" + "alarmUuid='" + alarmUuid + '\'' + ", objUuid='" + objUuid + '\'' + '}'; } }
2、過濾代碼如下:
/** * Created by Miracle Luna on 2020/3/16 */ public class LambdaFilterListToMap { public static void main(String[] args) { ListalarmInfoResponseList = new ArrayList<>(); AlarmInfoResponse response0 = new AlarmInfoResponse("alarm0", "-1"); AlarmInfoResponse response1 = new AlarmInfoResponse("alarm1", "1"); AlarmInfoResponse response2 = new AlarmInfoResponse("alarm2", "2"); AlarmInfoResponse response3 = new AlarmInfoResponse("alarm3", "3"); alarmInfoResponseList.add(response0); alarmInfoResponseList.add(response1); alarmInfoResponseList.add(response2); alarmInfoResponseList.add(response3); // 方式1:先使用foreach遍歷(遍歷過程中條件判斷) Map alarmObjUuidMap1 = new HashMap<>(); alarmInfoResponseList.forEach(alarmInfoResponse -> { if(!"-1".equals(alarmInfoResponse.getObjUuid())) { alarmObjUuidMap1.put(alarmInfoResponse.getAlarmUuid(), alarmInfoResponse.getObjUuid()); } }); System.out.println("============= 方式1 ===================="); alarmObjUuidMap1.forEach((alarmUuid, objUuid) -> System.out.println(alarmUuid + " : " + objUuid)); // 方式2:使用流過濾,再使用foreach遍歷 Map alarmObjUuidMap2 = new HashMap<>(); alarmInfoResponseList.stream(). filter(alarmInfoResponse -> !"-1".equals(alarmInfoResponse.getObjUuid())). forEach(alarmInfoResponse -> alarmObjUuidMap2.put(alarmInfoResponse.getAlarmUuid(), alarmInfoResponse.getObjUuid())); System.out.println("\n============= 方式2 ===================="); alarmObjUuidMap2.forEach((alarmUuid, objUuid) -> System.out.println(alarmUuid + " : " + objUuid)); } }
3、運行結(jié)果如下:
============= 方式1 ====================
alarm2 : 2
alarm1 : 1
alarm3 : 3============= 方式2 ====================
alarm2 : 2
alarm1 : 1
alarm3 : 3
以上就是小編為大家?guī)淼脑趺丛贘ava中利用Lambda將List轉(zhuǎn)換成Map的全部內(nèi)容了,希望大家多多支持創(chuàng)新互聯(lián)!