当前位置: 首页 > news >正文

Java List转Map

以下是一些常见的方法:

使用 Java 8 Stream API

如果你使用的是Java 8或更高版本,可以利用Stream API来方便地将列表转换为映射。例如,假设你有一个Person类,具有name和age属性,并且你想根据名字创建一个映射:

import java.util.*;
import java.util.stream.Collectors;class Person {private String name;private int age;public Person(String name, int age) {this.name = name;this.age = age;}public String getName() {return name;}public int getAge() {return age;}
}public class Main {public static void main(String[] args) {List<Person> people = Arrays.asList(new Person("Alice", 30),new Person("Bob", 25),new Person("Charlie", 35));// 创建一个Map,其中key是Person的name,value是Person对象Map<String, Person> personMap = people.stream().collect(Collectors.toMap(person -> person.getName(), person -> person));// 打印结果personMap.forEach((name, person) -> System.out.println(name + ": " + person.getAge()));}
}

不使用Stream API

如果你使用的是Java 7或更低版本,或者出于某些原因不想使用Stream API,你可以手动遍历列表并填充映射:

import java.util.*;class Person {private String name;private int age;public Person(String name, int age) {this.name = name;this.age = age;}public String getName() {return name;}public int getAge() {return age;}
}public class Main {public static void main(String[] args) {List<Person> people = Arrays.asList(new Person("Alice", 30),new Person("Bob", 25),new Person("Charlie", 35));Map<String, Person> personMap = new HashMap<>();for (Person person : people) {personMap.put(person.getName(), person);}// 打印结果personMap.forEach((name, person) -> System.out.println(name + ": " + person.getAge()));}
}

这两种方法都可以有效地将一个列表转换为一个映射。如果你能提供具体的页面内容或有特定的需求,我可以提供更准确的帮助。

相关文章:

  • 北京网站建设多少钱?
  • 辽宁网页制作哪家好_网站建设
  • 高端品牌网站建设_汉中网站制作
  • 【C++ Primer Plus习题】15.2
  • 如何使用树莓派构建 LoRa 网关?
  • 小说阅读网站登录注册搜索小说查看评论前后台管理计算机毕业设计/springboot/javaWEB/J2EE/MYSQL数据库/vue前后分离小程序
  • 通过ASCII码打印HelloWorld(花式打印HelloWorld)
  • post请求中有[]报400异常
  • 对游戏语音软件Oopz遭遇DDoS攻击后的一些建议
  • Element UI:初步探索 Vue.js 的高效 UI 框架
  • JavaScript变量
  • 2024年华为杯数学建模研赛 最全赛中助攻|选题建议+思路+代码+成品论文预定
  • 数据赋能(200)——开发:数据开发管理——影响因素、直接作用、主要特征
  • 高级算法设计与分析 学习笔记4 二叉查找树
  • 没钱才懂的道理,我推荐你读这4本书
  • MySQL之安装与基础知识
  • 【video clips 专栏 2.1 -- videopad 删除视频中间部分】
  • file | 某文件夹【解耦合】下的文件查找功能实现及功能单元测试
  • Centos6.8 使用rpm安装mysql5.7
  • Gradle 5.0 正式版发布
  • iOS 颜色设置看我就够了
  • java第三方包学习之lombok
  • js学习笔记
  • leetcode386. Lexicographical Numbers
  • log4j2输出到kafka
  • Redis字符串类型内部编码剖析
  • Vue全家桶实现一个Web App
  • 阿里云ubuntu14.04 Nginx反向代理Nodejs
  • 道格拉斯-普克 抽稀算法 附javascript实现
  • 干货 | 以太坊Mist负责人教你建立无服务器应用
  • 使用putty远程连接linux
  • 手写双向链表LinkedList的几个常用功能
  • 提醒我喝水chrome插件开发指南
  • 小程序开发之路(一)
  • 新书推荐|Windows黑客编程技术详解
  • 一起来学SpringBoot | 第十篇:使用Spring Cache集成Redis
  • Java总结 - String - 这篇请使劲喷我
  • 格斗健身潮牌24KiCK获近千万Pre-A轮融资,用户留存高达9个月 ...
  • 哈罗单车融资几十亿元,蚂蚁金服与春华资本加持 ...
  • ​ 轻量应用服务器:亚马逊云科技打造全球领先的云计算解决方案
  • ​​​​​​​开发面试“八股文”:助力还是阻力?
  • ​埃文科技受邀出席2024 “数据要素×”生态大会​
  • ###STL(标准模板库)
  • #控制台大学课堂点名问题_课堂随机点名
  • #我与Java虚拟机的故事#连载09:面试大厂逃不过的JVM
  • $.extend({},旧的,新的);合并对象,后面的覆盖前面的
  • (09)Hive——CTE 公共表达式
  • (1)(1.8) MSP(MultiWii 串行协议)(4.1 版)
  • (1)Map集合 (2)异常机制 (3)File类 (4)I/O流
  • (11)MSP430F5529 定时器B
  • (2)关于RabbitMq 的 Topic Exchange 主题交换机
  • (5)STL算法之复制
  • (done) ROC曲线 和 AUC值 分别是什么?
  • (Matalb分类预测)GA-BP遗传算法优化BP神经网络的多维分类预测
  • (二)Pytorch快速搭建神经网络模型实现气温预测回归(代码+详细注解)
  • (附源码)springboot高校宿舍交电费系统 毕业设计031552
  • (离散数学)逻辑连接词
  • (三)模仿学习-Action数据的模仿