现在将一个List<Person>转变为id与name的Map<String,String>。 如果personList中存在相同id的两个或多个对象,构建Map时会抛出key重复的异常,需要设置一个合并方法,将value合并(也可以是其他处理) List<Person> personList = new ArrayList<>(); personList.add(new Person("1","张三")); personList.add(new...
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); 输...
System.out.println("b:" +collect);//过滤collect = list.stream().filter(e -> e.equals("2")).collect(Collectors.toList()); System.out.println("c:" +collect);//list 转 mapMap<String, String> map = list.stream().collect(Collectors.toMap(e -> e + ":", e ->e)); System.out....
import java.util.stream.Collectors; public class Main { public static void main(String[] args) { List<Map<String, List<String>>> list = new ArrayList<>(); // 创建测试数据 Map<String, List<String>> map1 = new HashMap<>(); map1.put("key1", Arrays.as...
IntStream 1. 普通对象 Stream 可以通过 mapToInt() mapToLong() mapToDouble() 转换成基本类型 Stream 1. 基本类型可以通过 mapToObject() 转换成普通对象 Stream: IntStream 1. Stream操作 stream操作的特点: non-interfering:stream操作不会修改原始的数据。比如文章开始的例子,stream操作不会改变 myList,迭代...
1、字符串转换为List importcom.google.common.base.Splitter; import java.util.List; List<String> teamIdList=Splitter .on(",") .omitEmptyStrings() .splitToList(teamIds).stream() .map(Long::parseLong) .collect(Collectors.toList()); 2、List转List ...
//1、list转map,指定key-value,key,value是对象中的某个属性值. Map<String,String> userMap1 = userList.stream().collect(Collectors.toMap(User::getId,User::getName)); System.out.println("1->"+userMap1); //2、list转map 指定key-value,key为属性值,value是对象本身 ...
@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,这个是不允许的。所以会报错: ...
// 将list转换成Map类型 Map<String, String> map = list.stream().collect(Collectors.toMap(Person::getId, Person::getName)); // 如果报 map里的value空指针异常,则需要在value,也就是toMap()的第二个参数进行空(null)值的判断逻辑;例如:也就是 Person::getName 改成 p -> p.getName()==null?