Map<String,String>map=list.stream().collect(Collectors.toMap(Person::getId,Person::getName,(key1,key2)->key1+","+key2));System.out.println(map); 输出结果: 3.重复时将重复key的数据组成集合 代码语言:javascript 复制 Map<String,List<String>>map=list.stream().collect(Collectors.toMap(Person:...
1.重复时用后面的value 覆盖前面的value Map<String,String>map= list.stream().collect(Collectors.toMap(Person::getId, Person::getName,(key1 , key2)-> key2 )); System.out.println(map); 2.重复时将前面的value 和后面的value拼接起来; Map<String,String>map= list.stream().collect(Collectors.t...
User::getName));Map中key为User对象的属性值,value为User对象Map<String, User> userMap = users.stream().collect(Collectors.toMap(User::getId, User -> User));如果,我们的List中,key值重复,则会出现Duplicate key异常,这时候,我们可以使用覆盖的方式来避免这种异常...
Map<String,String>map = list.stream().collect(Collectors.toMap(Person::getId, Person::getName,(key1 , key2)-> key2 )); System.out.println(map); 1. 2. 输出结果: 2.重复时将前面的value 和后面的value拼接起来; Map<String,String>map = list.stream().collect(Collectors.toMap(Person::getI...
Map<Integer,User> userMap3 = userList.stream().collect(Collectors.toMap(User::getId, Function.identity())); 4、指定key-value,value是对象本身,Function.identity()是简洁写法,也是返回对象本身,key 冲突的解决办法,这里选择第二个key覆盖第一个key。
Java: Java8中stream Collectors.toMap将List转为Map Collectors.toMap将List转为Map 定义 public final class Collectors { public static <T, K, U> Collector<T, ?, Map<K,U>> toMap(Function<? super T, ? extends K> keyMapper, Function<? super T, ? extends U> valueMapper) {...
userList.stream().collect(Collectors.toMap(User::getId, User::getName, (n1, n2) -> n1 + n2)); // 输出结果: A-> 张三李四 C->王五 第四个参数(mapSupplier)用于自定义返回 Map 类型,比如我们希望返回的 Map 是根据 Key 排序的,可以使用如下写法: ...
Collectors.toMap(),一般用于将一个List转换为Map。常见用法: list.stream().collect(Collectors.toMap(Function keyMapper, Function valueMapper)) 可以接收2个、3个、4个参数,但是我一般只用2个的或者3个的就已经足够了。这里我也就只讲一个前两个用法,也就是2个参数的和3个参数的用法。
arr.stream().collect(Collectors.toMap(UserInfo::getUsername, UserInfo::getPassword));// System.out.println(map);//{lisi=111, zhangsan=222}//将一个数组转换成 一个map对象;key(string) -> value(UserInfo)// Map<String, UserInfo> map2 = arr.stream().collect(Collectors.toMap(UserInfo::get...
Mapmap = list.stream().collect(Collectors.toMap(Person::getName,each->each,(value1, value2) -> value1)); System.out.println(JSON.toJSONString(map)); 控制台打印日志: {“光头强”:{“address”:“森林第三个小屋”,“name”:“光头强”},“熊大”:{“address”:“森林第一个小屋”,“name...