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. Delimiter must not be alphanumeric or backslash php报错原因

    昨天写了一个小程序,其中用到了正则表达式去匹配内容.  php源代码如下: preg_match("\b(\w+)\b\s+\1\b",$match):   此报错警告的中文意思是 ...

  2. spring @Primary-在spring中的使用(十九)

    一.@Primary 在spring 中使用注解,常使用@Autowired, 默认是根据类型Type来自动注入的.但有些特殊情况,对同一个接口,可能会有几种不同的实现类,而默认只会采取其中一种的情况 ...

  3. Python 接口之request ,headers格式不对

    复制heardes格式,模拟请求报错 原因:粗心,headers带了空格

  4. docker exec 参数详解

    Usage: docker exec [OPTIONS] CONTAINER COMMAND [ARG...] Run a command in a running container Options ...

  5. windows环境30分钟从0开始快速搭建第一个docker项目(带数据库交互)

    前言 小白直接上手 docker  构建我们的第一个项目,简单粗暴,后续各种概念边写边了解,各种概念性的内容就不展开,没了解过的点击 Docker 教程 进行初步了解. Docker 是一个开源的应用 ...

  6. Docker未授权漏洞(2375)

    漏洞验证 直接使用浏览器访问 http://ip:2335 http://ip:2335/version http://ip:2335/info docker -H tcp://ip:2375 ver ...

  7. 【GCC编译器】Swing Modulo Scheduling

    1. SMS 在 GCC 中的实现 1.1. 一些基本概念 (1)软流水(Software pipelining )是一种通过重叠不同迭代的指令,使其并行执行,从而改进循环中指令调度的技术.关键思想是 ...

  8. Spring Cloud分区发布实践(4) FeignClient

    上面看到直接通过网关访问微服务是可以实现按区域调用的, 那么微服务之间调用是否也能按区域划分哪? 下面我们使用FeignClient来调用微服务, 就可以配合LoadBalancer实现按区域调用. ...

  9. web知识架构思维导图

    图片双击放大还是很清晰的.原图大小5.1M

  10. InnoDB锁机制-转载

    InnoDB锁机制 1. 锁类型 锁是数据库区别与文件系统的一个关键特性,锁机制用于管理对共享资源的并发访问. InnoDB使用的锁类型,分别有: 共享锁(S)和排他锁(X) 意向锁(IS和IX) 自 ...