// 将实体类的list,转换为mapList<User> userList =newLinkedList<>(); Map<Integer,User> userMap = userList. stream(). collect(Collectors.toMap( item -> item.getId(),// 操作map的keyitem-> item,// 操作map的value(v1,v2)->v1 ));// 更简单的方式Map<Integer,User> userMap1 = userLis...
方法/步骤 1 1.新建一个类:TestTransformListToMap.java 2 2.创建一个ArrayList对象:list,添加三个元素 3 3.使用stream的collect函数对list进行转换,转成Map 4 4.打印List转成的Map集合的所有元素 5 5.运行程序,可以看到List集合就成功转成了Map集合 ...
userList.stream().collect(Collectors.toMap(User::getId, User::getName)); 当然,如果希望得到 Map 的 value 为对象本身时,可以这样写: userList.stream().collect(Collectors.toMap(User::getId, t -> t)); 或: userList.stream().collect(Collectors.toMap(User::getId, Function.identity())); 关于Co...
Map<KeyType, YourObject> map = list.stream().collect(collector);在这个自定义的Collector中,我们定义了如何创建Map的供应商(supplier),如何累加元素到Map中(accumulator),如何合并两个Map(combiner),以及如何完成最终的转换(finisher)。3. 使用传统的循环 如果你不使用Java 8的流API,可以简单地通过循...
Map<String,List<String>myMap=newHashMap();List<String>tempList=newArrayList();for(Map<String,...
Map<String,List<String>myMap=newHashMap();List<String>tempList=newArrayList();for(Map<String,...
工具/原料 jetbrain idea2018 windows7 jdk1.8 方法/步骤 1 1.新建一个类:TestLambda3.java 2 2.声明main函数 3 3.创建一个List,包含若干User元素 4 4.使用stream的collect(Collectors.toMap())方法将List集合转换成Map集合 5 5.从打印结果可以看出List集合就成功转换成了HashMap了。
在代码开发过程中,我们经常需要将List中的元素根据某一个字段进行分组,这个时候,我们就需要把List来转换成Map来满足我们的业务需求,通常我们转换的场景有以下几种: 一、List<Object>转Map<String,String> 二、List<Object>转Map<String,Object>(返回对象本身) ...
Map<Long,User> maps = userList.stream().collect(Collectors.toMap(User::getId,Function.identity())); 看来还是使用JDK 1.8方便一些。另外,转换成map的时候,可能出现key一样的情况,如果不指定一个覆盖规则,上面的代码是会报错的。转成map的时候,最好使用下面的方式: ...
使用Java 8的Stream API和Collectors类,我们可以很容易地将List转化为Map。我们可以使用List的stream()方法获取一个流,然后使用Collectors.toMap()方法将流转化为Map。 下面是一个示例代码,将学生列表转化为以学号为键,姓名为值的Map: Map<Integer,String>studentMap=studentList.stream().collect(Collectors.toMap(Stu...