Java小抄|Java中的List与Map转换

文章目录

  • [1 List<User> 转Map<User.id,User>](#1 List 转Map<User.id,User>)
  • [2 基础类型的转换:List < Long> 转 Map<Long,Long>](#2 基础类型的转换:List < Long> 转 Map<Long,Long>)

1 List 转Map<User.id,User>

java 复制代码
Map<Long, User> userMap = userList.stream().collect(Collectors.toMap(User::getId, v -> v, (v1, v2) -> v1));

for (Long key : userMap.keySet()) {
    System.out.println(userMap.get(key));
}

.collect(Collectors.toMap(User::getId, v -> v, (v1, v2) -> v1));

第一个参数: User::getId表示选择 User 的 Id作为map的key值;

第二个参数: v -> v 表示选择将原来list中的每一个User对象作为map的key对应的每一个value值;

第三个参数:(v1, v2) -> v1 表示当有 id 重复的时候,选择第一个作为基准,忽略别的 id 相同的记录;

如果(v1, v2) -> v2 表示当有 id 重复的时候,选择最后一个作为基准,忽略别的 id 相同的记录

2 基础类型的转换:List < Long> 转 Map<Long,Long>

java 复制代码
Map<Long, Long> map = list.stream().collect(Collectors.toMap(Function.identity(), Function.identity(),(v1, v2) -> v1));
相关推荐
特立独行的猫A2 小时前
用仓颉语言 cj-tauri 框架,五分钟给娃做了个鸿蒙形近字游戏
java·后端·python
budingxiaomoli8 小时前
Spring统一功能处理
java·后端·spring
Flynn Liang10 小时前
可观测性与成本治理:一次对话的 17 个观测点
java·langchain·可观测性·micrometer·langchain4j·token 成本·llm 监控
金銀銅鐵10 小时前
带您看懂字节码指令(三):同一行加法,为什么有四种指令
java·jvm
文丑颜不良啊14 小时前
LeetCode2821~2840题目解析
java·leetcode
apcipot_rain15 小时前
C++转Java日记(10)
java·开发语言
简 洁 冬冬15 小时前
泛型方法写法全面辨析:从「能编译」到「能跑」到「能用」
java·泛型
LGL6030A16 小时前
Java学习历程31——初识Spring Boot
java·spring boot·学习
Lansonli18 小时前
大数据Spark(八十八):Spark任务资源之Standalone集群测试
java·服务器·spark
budingxiaomoli18 小时前
Spring AOP
java·spring·java-ee