it -> it.getAge());//或着:Map<Long,Integer> map9 = userList.stream().collect(Collectors.toMap(UserInfoDetailVo::getId, UserInfoDetailVo::getAge));//对map的key添加具体业务,对map的value添加具体业务Map<Long,String> map10 = userList.stream().collect(Collectors.toMap(it -> {//可添加...
Collectors.toMap将List转为Map 定义 publicfinalclassCollectors{publicstatic<T,K,U>Collector<T,?,Map<K,U>>toMap(Function<?superT,?extendsK>keyMapper,Function<?superT,?extendsU>valueMapper){returntoMap(keyMapper,valueMapper,throwingMerger(),HashMap::new);}publicstatic<T,K,U>Collector<T,?,Map<K...
红色框中的语句是一个Stream的生命开始的地方,负责创建一个Stream实例;绿色框中的语句是赋予Stream灵魂的地方,把一个Stream转换成另外一个Stream,红框的语句生成的是一个包含所有nums变量的Stream,进过绿框的filter方法以后,重新生成了一个过滤掉原nums列表所有null以后的Stream;蓝色框中的语句是丰收的地方,把Stream的...
这里,我们假设有个User对象 List转Map Map中key和value都是User对象中的属性值Map<String, String> userMap = users.stream().collect(Collectors.toMap(User::getId, User::getName));Map中key为User对象的属性值,value为User对象Map<String, User> userMap = users.stream().collect(Collectors.toMap(User::...
Collectors.toMap(),一般用于将一个List转换为Map。常见用法: list.stream().collect(Collectors.toMap(Function keyMapper, Function valueMapper)) 可以接收2个、3个、4个参数,但是我一般只用2个的或者3个的就已经足够了。这里我也就只讲一个前两个用法,也就是2个参数的和3个参数的用法。
userList.add(new User(1, "Alex")); userList.add(new User(1, "Beth")); Map<Integer, String> map = userList.stream() .collect(Collectors.toMap(User::getId, User::getName)); System.out.println(map); } } 运行程序,你已经想好了开始怎么摸鱼,结果啪的一下IllegalStateException报错就拍你...
使用Java Stream将List转换为Map可以使用Collectors.toMap()方法。toMap()方法接受两个参数,第一个参数是用于提取Map的键的函数,第二个参数是用于提取Map的值的函数。下面是一个示例: importjava.util.*; importjava.util.stream.Collectors; publicclassMain{ ...
Map<String,String>map=list.stream().collect(Collectors.toMap(Person::getId,Person::getName,(key1,key2)->key2));System.out.println(map); 输出结果: 2.重复时将前面的value 和后面的value拼接起来; 代码语言:javascript 代码运行次数:0 运行 ...
Collectors通常在Stream处理后,返回转换成集合类时使用,本文主要介绍Java Stream中Collectors.toList()、Collectors.toSet()、Collectors.toCollection()和Collectors.toMap()的使用,以及相关的示例代码。 原文地址:Java Stream Collectors的toList()、toSet()、toCollection()和toMap()的使用...
Java8 中新增了 Stream 特性,使得我们在处理集合操作时更方便了。以上述例子为例,我们可以一句话搞定:userList.stream().collect(Collectors.toMap(User::getId, User::getName));当然,如果希望得到 Map 的 value 为对象本身时,可以这样写:userList.stream().collect(Collectors.toMap(User::getId, t -> t))...