Java三种方法将List转换为Map的实例
作者:Sam哥哥 发布时间:2023-08-21 09:02:41
标签:java,list,map
1.for循环
import com.google.common.base.Function;
import com.google.common.collect.Maps;
import java.util.ArrayList;
import java.util.HashMap;
import java.util.List;
import java.util.Map;
public class ListToMap {
public static void main(String[] args) {
List<User> userList = new ArrayList<>();
User user1 = new User();
user1.setId(1L);
user1.setAge("12");
User user2 = new User();
user2.setId(2L);
user2.setAge("13");
userList.add(user1);
userList.add(user2);
Map<Long, User> maps = new HashMap<>();
for (User user : userList) {
maps.put(user.getId(), user);
}
System.out.println(maps);
}
public static class User {
private Long id;
private String age;
public Long getId() {
return id;
}
public void setId(Long id) {
this.id = id;
}
public String getAge() {
return age;
}
public void setAge(String age) {
this.age = age;
}
@Override
public String toString() {
return "User{" +
"id=" + id +
", age='" + age + '\'' +
'}';
}
}
}
2.使用guava
Map<Long, User> maps = Maps.uniqueIndex(userList, new Function<User, Long>() {
@Override
public Long apply(User user) {
return user.getId();
}
});
3.使用JDK1.8
Map<Long, User> maps = userList.stream().collect(Collectors.toMap(User::getId, user -> user));
看来还是使用JDK 1.8方便一些。
来源:https://blog.csdn.net/linsongbin1/article/details/79801952


猜你喜欢
- 目录为什么选择MQTTMQTT, 启动!使用方式Client模式创建工厂类创建工具类Spring Integration总结为什么选择MQT
- 写Java程序时经常碰到要读如txt或写入txt文件的情况,但是由于要定义好多变量,经常记不住,每次都要查,特此整理一下,简单易用,方便好懂
- 本文实例讲述了C#执行存储过程并将结果填充到GridView的方法。分享给大家供大家参考,具体如下:SelectSql sq = new S
- 这篇文章主要介绍了Java日期与时间类原理解析,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友可以参
- 若使用 Spring IoC 容器(ApplicationContext或BeanFactory)作为你的业务对象(你也应该这么做!),你会
- 一、Lambda 表达式的基础语 * ambda 表达式的基础语法:Java8中引入了一个新的操作符 "->" 该操
- Feign导入依赖为unknow的情况网上很多人在使用的feign时在pom.xml中的依赖为:<!-- SpringCloud 整合
- Session是服务器端技术,利用这个技术,服务器在运行时可以为每一个用户的浏览器创建一个其独享的session对象,注意是默认情况下,一个
- SpringDataJpa创建中间表//fetch=FetchType.EAGER 关闭懒加载 相当于hibernate中的lazy=fal
- 上篇文章老王买产品 我们从最原始的基本实现方法,到简单(静态)工厂,然后使用工厂方法设计模式进行改造,最后考虑产品会产生变体,我们
- 上篇《Spring Aop实例之xml配置》中,讲解了xml配置方式,今天来说说AspectJ注解方式去配置spring aop。依旧采用的
- 1:设置注释的模板:下载此模板:codetemplates.xml搜索Dangzhang,将其改为你自己的姓名,保存打开eclipse/my
- import java.io.BufferedReader;import java.io.InputStreamReader;import
- 由于 Spring 拥有对象的管理权,所以我们也需要拥有较为高效的对象存储和取出的手段,下面我们来分别总结一下:存对象配置文件在存储对象之前
- 前言对于多线程,大家应该很熟悉。但是,大家了解线程池吗?今天,我将带大家全部学习关于线程池的所有知识。目录1. 简介2. 工作原理2.1 核
- 一.瀑布模型瀑布模型严格遵循软件生命周期各阶段的固定顺序:计划、分析、设计、编程、训试和维护,上一阶段完成后才能进入到下一阶段, 整个模型就
- 如果一个内存中的对象没有任何引用的话,就说明这个对象已经不再被使用了,从而可以成为被垃圾回收的候选。不过由于垃圾回收器的运行时间不确定,可被
- Accessors翻译是存取器。通过该注解可以控制getter和setter方法的形式。 @Accessors(fluent = true)
- 一、什么是Memcached?Memcached是danga.com开发的分布式内存对象缓存系统,所谓分布式,意味着它不是本地的,而是基于网
- 我就废话不多说了,大家还是直接看代码吧~import java.io.UnsupportedEncodingException;import