1 import com.yang.test.User;
2
3 import javax.jws.soap.SOAPBinding;
4 import java.util.*;
5 import java.util.function.Function;
6 import java.util.stream.Collectors;
7
8 public class Main {
9
10 public static void main(String[] args) {
11
12 List<User> userlist = new ArrayList<>();
13 for (int i = 0; i <10; i++) {
14
15 userlist.add(new User("张三"+i,i));
16 }
17 System.out.println(getAllages(userlist).size());
18
19 System.out.println(getUser2Map(userlist));
20
21 System.out.println(getUser2MapUser(userlist));
22
23 System.out.println(getUser2MapUser2(userlist));
24
25 System.out.println(getUser2MapUser3(userlist));
26
27 }
28
29 public static List<Integer> getAllages(List<User>userlist){
30 return userlist.stream().map(user -> user.getAge()).collect(Collectors.toList());
31 }
32
33 public static Map<Integer,String> getUser2Map(List<User>userlist){
34
35 return userlist.stream().collect(Collectors.toMap(User::getAge,User::getName));
36 }
37
38 public static Map<Integer,User> getUser2MapUser(List<User>userlist){
39
40 return userlist.stream().collect(Collectors.toMap(User::getAge,User-> User));
41 }
42
43 /**
44 * 比较优雅的写法是这样的
45 * @param userlist
46 * @return
47 */
48 public static Map<Integer,User> getUser2MapUser2(List<User>userlist){
49
50 return userlist.stream().collect(Collectors.toMap(User::getAge, Function.identity()));
51 }
52
53 /**
54 * 重复key的情况下 简单的使用后者覆盖前者的
55 */
56 public static Map<Integer,User> getUser2MapUser3(List<User>userlist){
57
58 return userlist.stream().collect(Collectors.toMap(User::getAge, Function.identity(),(key1,key2)->key2));
59 }
60
61 /**
62 *指定map的具体实现
63 * @param userlist
64 * @return
65 */
66 public static Map<Integer,User> getUser2MapUser4(List<User>userlist){
67
68 return userlist.stream().collect(Collectors.toMap(User::getAge, Function.identity(),(key1,key2)->key2, LinkedHashMap::new));
69 }
70 }

用Java8把List转为Map的更多相关文章

  1. Java8将List转为Map

    1.实体 public class Hosting { private int id; private String name; private long websites; public Hosti ...

  2. Java 8中Collection转为Map的方法

    Java 8中java.util.stream.Collectors提供了几个方法可用于把Collection转为Map结构,本文记录了个人对其中三个的理解. Method Return Type g ...

  3. 【转】Java8中list转map方法总结

    https://blog.csdn.net/zlj1217/article/details/81611834 背景在最近的工作开发之中,慢慢习惯了很多Java8中的Stream的用法,很方便而且也可以 ...

  4. javabean实体类对象转为Map类型对象的方法(转发)

    //将javabean实体类转为map类型,然后返回一个map类型的值 public static Map<String, Object> beanToMap(Object obj) { ...

  5. java8--List转为Map、分组、过滤、求和等操作----代码示例

    Java 8 函数式编程风格 Java 迄今为止最令人激动的特征.这些新的语言特征允许采用函数式风格来进行编码,我们可以用这些特性完成许多有趣的功能.这些特性如此有趣以至于被认为是不合理的.他们说会影 ...

  6. json数据转为Map集合

    我是利用Gson来弄得Gson gson = new Gson();//显得出HashMap的类型Type type = new TypeToken<HashMap<String, Str ...

  7. JAVA中将对象转为Map类型

    之前讲过将Map转为JAVA对象的文章,那么问题来了,如果要把JAVA对象转为Map,又该怎么操作呢?这里亲测了2个方法可行,但目前这2个方法都是基于简单JAVA Bean的情况(即Bean中不能嵌套 ...

  8. java中list强转为map类型

    起因:读取数据库文件的测试用例,测试用例需要存放到一个map中,方便下次调用, 读取的内容返回的内容存放在一个list中,并且数据内容是key=value的形式,最开始使用切片方式,做了很多无用功,后 ...

  9. XML字符串转为Map集合

    public class xmlToMapUtils { /** * xml字符串转为map集合 * @param xmlStr * @return */ public static Map<S ...

随机推荐

  1. 简单配置nginx反向代理,实现跨域请求

    简单配置nginx去做反向代理,实现跨域请求 简单介绍nginx的nginx.conf最核心的配置,去做反向代理,实现跨域请求. 更多详细配置,参考nginx官方文档 先介绍几个nginx命令 打开n ...

  2. Linux + .net core 开发升讯威在线客服系统:首个经过实际验证的高性能版本

    业余时间用 .net core 写了一个在线客服系统.并在博客园写了一个系列的文章,写介绍这个开发过程: .net core 和 WPF 开发升讯威在线客服系统:目录 https://blog.she ...

  3. Kafka之--自动启动zookeeper & kafka 脚本

    1) 首先配置SSH免密登录,在这里我用kafka(151)这台机器来作为启动脚本的存放和执行机器 [root@kafaka3 .ssh]# pwd #生成SSH KEY /root/.ssh [ro ...

  4. phpMyAdmin 4.0.x—4.6.2 远程代码执行漏洞(CVE-2016-5734)

    影响范围 4.0.10.16之前4.0.x版本 4.4.15.7之前4.4.x版本 4.6.3之前4.6.x版本(实际上由于该版本要求PHP5.5+,所以无法复现本漏洞) 需要登录,且能够写入数据 p ...

  5. 开发者如何快速搭建自己的电商App?

    面向电商购物场景,HMS Core提供了创新的电商解决方案,帮助应用快速获客.提升转化率,实现业务增长.为了帮助开发者了解如何在电商购物类应用中集成HMS Core的各项能力,HMS Core开发了电 ...

  6. SQL语句(二)数据排序和单行函数

    目录 一.排序查询 1. 基本排序 2. 多条件排序 二.单行函数 调用方法 字符函数 ①LENGTH函数 ②CONCAT函数 ③upper 和 lower ④substr ⑤instr ⑥trim ...

  7. shell $? 状态码含义

    Linux 使用了$? 来保存上个执行的命令的退出状态码. 0                命令成功结束 1                通用未知错误 2                误用she ...

  8. 1~n数字中1出现的个数

    1~n数字中1出现的个数 LeetCode 给定一个整数 n,计算所有小于等于 n 的非负整数中数字 1 出现的个数. 感觉挺有意思 对于一个数,我们先局部分析一下,比如123456,我们考虑百位这个 ...

  9. 关于修改.net core webapi中null默认返回的状态码。

    在asp .net core webapi中,http请求的响应数据如果是null的话,我们知道状态码会返回204,即NoContent,为什么会出现这种情况呢?   因为在返回响应数据的时候,nul ...

  10. Run Clojure Script with External Dependencies without leiningen

    The normal way of deploy clojure files is using leiningen. But if we have no leiningen, or the scrip ...