某腾大佬呕心沥血连夜将Java8 将一个List<T>转为Map<String,T>的操作(干货)

本文介绍了如何利用Java8的Lambda表达式和Stream API,将List转换为Map<String, T>。通过示例展示了在遇到重复Key时的不同处理方法,以及如何从实体类中提取字段作为Map的Key。" 105940218,9257680,Java CAS:乐观锁详解,"['java', '并发编程', '锁机制', '原子操作', '线程安全']
摘要由CSDN通过智能技术生成

将 List 转为 Map<String, T>


`public` `class` `AnswerApp {
   `

`public` `static` `void` `main(String[] args)` `throws` `Exception {
   `

`List<String> names = Lists.newArrayList(``"Answer"``,` `"AnswerAIL"``,` `"AI"``);`

`Map<String, Integer> map = names.stream().collect(Collectors.toMap(v -> v, v ->` `1``));`

`System.out.println(map);`

`}`

`}`

程序运行输出

`{
   Answer=``1``, AnswerAIL=``1``, AI=``1``}`

将 List 转为 Map<K, V>


`public` `static` `void` `main(String[] args)` `throws` `Exception {
   `

`List<User> users =` `new` `ArrayList<>();`

`for` `(``int` `i =` `0``; i <` `3``; i++) {
   `

`users.add(``new` `User(``"answer"` `+ i,` `new` `Random().nextInt(``100``)));`

`}`

`System.out.println(JSON.toJSONString(users));`

`System.out.println();`

`Map<String, Integer> map = users.stream().collect(Collectors.toMap(User::getName, User::getAge));`

`System.out.println(map);`

`}`

程序运行输出

`[
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值