Map<String,List<String>>map=list.stream().collect(Collectors.toMap(Person::getId,p->{List<String>getNameList=newArrayList<>();getNameList.add(p.getName());returngetNameList;},(List<String>value1,List<String>value2)->{value1.addAll(value2);returnvalue1;}))System.out.println(map); 输出结果为:
返回List1 的 map,如果 List 中的数据在 List 2 中存在的话,Map 的值是 True,如果不存在的话,是 False。 List1 和 List2 中的元素都是整数。 Stream 我们使用了 Java 提供的 Stream,当然你也可以用 For 循环。 下面的 map1 和 map 2 是等价的。List<Integer> reqIds = Arrays.asList(1, 2); Li...
开发记录:关于Java Stream,涉及遍历、分组以及list转map、list字段提取 简介和特点 Java 8 API添加了一个新的抽象称为流Stream,可以让你以一种声明的方式处理数据。 这种风格将要处理的元素集合看作一种流, 流在管道中传输, 并且可以在管道的节点上进行处理, 比如筛选
转换成TreeMap publicstaticvoidmain(String[] args){//将List转换为Map,解决key冲突的问题TreeMap<String,String> collect = users.stream().//User对象的id属性作为key,但是key相同时,使用旧的value值collect(Collectors.toMap(User::getId, User::getName, (k1, k2) -> k1, TreeMap::new)); System.out...
Map<Integer, List<Payment>> paymentByTypeMap = new HashMap<>();for(Payment payment : payments)...
@Testpublicvoidtest02(){List<String>names=Arrays.asList("tom","jack","jerry","tom");Map<String,Integer>collect=names.stream().collect(toMap(Function.identity(),String::length));System.out.println(collect)}/* 因为List包含两个tom,转成Map会有两个同样的Key,这个是不允许的。所以会报错: ...
使用JavaStream将List转换为Map可以使用Collectors.toMap()方法。toMap()方法接受两个参数,第一个参数是用于提取Map的键的函数,第二个参数是用于提取Map的值的函数。下面是一个示例: 代码语言: importjava.util.*;importjava.util.stream.Collectors;publicclassMain{publicstaticvoidmain(String[]args){List<Person>pe...
Map> ans = list.stream().collect(Collectors.groupingBy(String::length)); 2. 通用方法 上面是针对特定的列表,针对业务进行开发转换,那么我们接下来尝试构建一个通用的工具类 这里我们主要借助的知识点就是泛型,一个重要的点就是如何获取Map中的key对于jdk < 1.8的写法,通过接口来定义实现key的获取姿势 ...
Stream<Person>personStream=personList.stream(); 1. 步骤3:通过Stream对象将List转换成Map 使用Stream对象的collect方法,结合Collectors.toMap方法,可以将Stream转换成Map。 Map<Integer,String>personMap=personStream.collect(Collectors.toMap(Person::getId,Person::getName)); ...
Stream将List转换为Map,使用Collectors.toMap方法进行转换。 List拼接字符串 set转list stream的groupingBy分组 按性别单级分组 多层级分组 对List<map>分组 按子分组 求和:按分类统计订单数(一个订单算一个) 求和:按分类统计购买的产品数量(一个订单购买了多个) ...