先定义一个包含原始数据的List,假设我们有一个元素类型为String的List,我们想要将这些字符串转换为Integer类型。 importjava.util.List;importjava.util.ArrayList;publicclassStreamExample{publicstaticvoidmain(String[]args){// 创建一个包含字符串数字的ListList<String>stringNumbers=newArrayList<>();stringNumbers.ad...
importjava.util.Arrays;importjava.util.List;importjava.util.stream.Collectors;publicclassMain{publicstaticvoidmain(String[]args){// 创建Person对象列表List<Person>personList=Arrays.asList(newPerson("Alice",23),newPerson("Bob",30),newPerson("Charlie",25));// 使用Stream进行类型转换List<String>name...
List<Department>> deparmentMap = departmentList.stream().collect(Collectors.groupingBy(Department::getBigcode)); System.out.println(deparmentMap); //### //遍历map集合 deparmentMap,遍历每一个大科室:对每一个大科室重新进行封装,包含其下级子科室 for(Map.Entry<String,List<Department>> entry :...
三、list转树形方法 代码语言:javascript 复制 publicstaticList<NodeVO>streamToTree(List<NodeVO>treeList,Integer parentId){returntreeList.stream()// 过滤父节点.filter(parent->Objects.equals(parent.getPid(),parentId))// 把父节点children递归赋值成为子节点.peek(child->child.setChildren(streamToTree(tr...
// 将实体类的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
原因是声明List集合时有的值为空(如图),但是HashMap中k,v是可以存null值的。 解决方法:在转换流中加上判空,即便value为空,依旧输出。(与上面方法三相同) 代码语言:javascript 复制 Map<String,List<String>>map=list.stream().collect(Collectors.toMap(Person::getId,p->{List<String>getNameList=newArrayList...
理解Lambda 表达式 一、Stream list To Map for循环转换: 二、Stream list to Map,key重复 三、Stream list to Map,key重复,value三种处理 解决一:用新值覆盖旧值 解决二:重复时将之前的value 和现在的value拼接或相加起来 解决三:将重复key的数据变成一个集合 四、
而使用Stream.collect(Collectors.toList())创建出来的则是一个普通的List,是可以做增删改操作的。 那么如果用Collectors也要创建不可变的List要怎么写呢?其实也很简单,只需要调用Collectors.toUnmodifiableList()就可以了。所以与本文开头等价代码替换可以这样写: ...
这是Integer类型:1 这是Integer类型:2 这是Integer类型:3 这是Integer类型:4 这是Integer类型:5 这是Integer类型:6 可以看出直接能把一个列表的类型转换成另外一个,十分方便。 注意避免空指针: 这里转换的时候注意一下:List codesInteger = codes.stream().map(Integer::parseInt).collect(Collectors.toList())...
Java8 实现stream将对象集合list中抽取属性集合转化为map或list 首先新建一个实体类Person @Data public class Person { /** 编码 */ private String code; /** 名字 */ private String name; public Person(String code, String name) { this.code = code; ...