专业的JAVA编程教程与资源

网站首页 > java教程 正文

Java8 List转Map,我卡壳了......

temp10 2024-10-26 15:25:54 java教程 6 ℃ 0 评论

好几天没有更新文章,一方面是因为工作原因,另一方面是因为小编偷偷的在准备面试,由于准备不足,在昨日被无情的......淘汰了!

怪自己才疏学浅,其中有一道笔试题,是用Java8将List转Map,那么接下来我总结了List转Map的三种方法。

Java8 List转Map,我卡壳了......

第一种方法可能是大家常用的一种方法通过for循环将每个元素填充到map里面,简例如下:

 ArrayList<User> list=new ArrayList<>(); Map maps=new HashMap(); list.add(new User("1","张三")); list.add(new User("2","李四")); list.add(new User("3","王五")); for (User users:list){      maps.put(users.getUserId(),users.getUserName());  } System.out.println(maps);

第二种是使用Google提供的guava工具库

 Map<String,User> map = Maps.uniqueIndex( list, user -> user.getUserId()); System.out.println(map);

第三种是Java8的stream方法,是最简便的一种方法,也提供了函数有效的解决了Key冲突

 System.out.println(list.stream().collect(Collectors.toMap(User::getUserId,User::getUserName,(k1,k2)->k2)));

Tags:

本文暂时没有评论,来添加一个吧(●'◡'●)

欢迎 发表评论:

最近发表
标签列表