// (1)基本List转Map(key->value)// Map<String, Integer> map = list.stream().collect(Collectors.toMap(Person::getName, Person::getAge));// map.forEach((k,v)->{ // System.out.println(k + "\t" + v);// });// (2)基本List转Map // Map<String, Person> map ...
list.add(student1); list.add(student2); list.add(student3); Map<String, Integer> map = list.stream() .collect(Collectors.toMap(Student::getName, Student::getAge)); 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 方式一存在的问题 Collectors.toMap()调用的方法如下: public static <T, K, U...
Map<String,User> userMap2 = userList.stream().collect(Collectors.toMap(User::getId,User->User)); System.out.println("2->"+userMap2); //3、list转map 指定key-value,value是对象本身,Function.identity()是简洁写法,返回对象本身 Map<String,User> userMap3 = userList.stream().collect(Collectors...
Map<Long, Long> map = users.stream().collect(Collectors.toMap(User::getId, User::getDeptId)); 4、以deptId为Key进行分组(deptId为NULL时报错) Map<Long, List<User>> map = users.stream().collect(Collectors.groupingBy(User::getDeptId)); 5、提取ID 集合(List) List<Long> ids = users.stream(...
1.List转Map class A 方式一: Map<String, A> aMap = aList.stream().collect(Collectors.toMap(A::getId, a -> a)); 也可以使用Function接口中的一个默认方法 Function.identity(),这个方法返回自身对象 方式二: Map<String, A> aMap = aList.stream().collect(Collectors.toMap(A::getId, Function....
JDK8通过Stream 对List,Map操作和互转的实现 1、Map数据转换为自定义对象的List,例如把map的key,value分别对应Person对象两个属性: ygcmfmListlist = map.entrySet().stream().sorted(Comparator.comparing(e -> e.getKey())) .map(e -> new Person(e.getKey(), e.getValue())).collect(Collectors.to...
Map:是一个键值对的集合,每个键都是唯一的,但值可以重复。 2. 确定List转Map的转换规则和期望的Map结构 在转换之前,需要明确List中的元素如何映射到Map的键和值上。例如,假设有一个Person类,其中包含name和age属性,你可能希望将List中的Person对象转换为一个以name为键、age为值的Map。 3. 使用JDK 8的Stream...
转换为TreeMap: public static void main(String[] args) { //将List转换为Map,解决key冲突的问题。 TreeMap<String, Integer> collect = users.stream(). //User对象的edu属性作为key,但是会存在key相同的情况 collect(Collectors.toMap(User::getEdu, //value的值,是集合的结构 User::getId, (k1, k2)...
list转map(JDK8-Lambda表达式) JimmyThomas 如果一件事情你觉得很难完成,你可以把它分为若干步骤,并不断寻找合适的方法,逐个击破,最后你会发现你是个超人 去繁归简:作为一个程序员,最痛恨的代码就是如老婆的裹脚布又臭又长一样的代码,最崇尚的就是清晰、简洁、模块化的代码...
Map<String, String> map = list.stream().collect( Collectors.toMap(Student :: getClassName, Student :: getStudentName, (key1 , key2)-> key2 )); 也可以简写成这样: Map<String, String> map = list.stream().collect( Collectors.toMap(Student :: getClassName, Student :: getStudentName, ...