重庆分公司,新征程启航
为企业提供网站建设、域名注册、服务器等服务
本文章向大家介绍怎么在Java中利用Lambda将List转换成Map的基本知识点总结和需要注意事项,具有一定的参考价值,需要的朋友可以参考一下。
目前成都创新互联已为1000多家的企业提供了网站建设、域名、网站空间、网站运营、企业网站设计、叶县网站维护等服务,公司将坚持客户导向、应用为本的策略,正道将秉承"和谐、参与、激情"的文化,与客户和合作伙伴齐心协力一起成长,共同发展。
Java的特点有哪些 1.Java语言作为静态面向对象编程语言的代表,实现了面向对象理论,允许程序员以优雅的思维方式进行复杂的编程。 2.Java具有简单性、面向对象、分布式、安全性、平台独立与可移植性、动态性等特点。 3.使用Java可以编写桌面应用程序、Web应用程序、分布式系统和嵌入式系统应用程序等。
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、运行结果如下:
============= 方式1 ====================
alarm2 : 2
alarm1 : 1
alarm3 : 3============= 方式2 ====================
alarm2 : 2
alarm1 : 1
alarm3 : 3
以上就是小编为大家带来的怎么在Java中利用Lambda将List转换成Map的全部内容了,希望大家多多支持创新互联!