1史上最简单入门:java8的lambda中的map相关操作:基础及注意事项图文详解
2 java8的lambda中collect接口案例及原理详解,官方文档解读
3 java8:封装lambda泛型工具类之list转为map
4 java8的lambda中的map操作:合并两个map
0 接之前姊妹篇
1 java8的lambda中的map的合并
java8的lambda中的map相关操作_ice-wee的专栏-CSDN博客_java lambda map
2 最简单入门:java8的lambda中的map相关操作:基础及注意事项图文详解
java8的lambda中的map相关操作:基础及注意事项图文详解UnsupportedOperationException_ice-wee的专栏-CSDN博客_java8 lambda map
1 main方法
public class LambdaToMapUtils {public static void main(String[] args) {List<User> list = new ArrayList<>();for (Long i = 0L; i < 4; i++) {User user = new User();user.setId(i);user.setAge(i);user.setName(String.valueOf(i));user.setAddress(String.valueOf(i));list.add(user);//重复值:key相同value不同user.setName(String.valueOf(i+1));list.add(user);}//方式一:泛型//Map<Long, String> map =tomap(list,User::getId,User::getName,(k2,k1)->k2);//方式二://Map<Long, String> map = list.stream().collect(Collectors.toMap(User::getId, User::getName, (k1,k2)->k1));Map<Long, String> map =tomap2(list,User::getId,User::getName);System.out.println(map);}private static <T, K, V> Map<K, V> tomap(List<T> list,Function<? super T, ? extends K> keyMapper,Function<? super T, ? extends V> valMapper,BinaryOperator<V> mergeFunction) {//list 空值判断。。Map<K, V> map =list.stream().collect(Collectors.toMap(keyMapper, valMapper, mergeFunction));return map;}private static <T, K, V> Map<K, V> tomap2(Collection<T> c,Function<? super T, ? extends K> keyMapper,Function<? super T, ? extends V> valMapper) {//list 空值判断。。Map<K, V> map =c.stream().collect(Collectors.toMap(keyMapper, valMapper, (k1,k2)->k2));return map;}}
2 user对象
public class User {String name;String address;Long id;Long age;public String getName() {return name;}public void setName(String name) {this.name = name;}public String getAddress() {return address;}public void setAddress(String address) {this.address = address;}public Long getId() {return id;}public void setId(Long id) {this.id = id;}public Long getAge() {return age;}public void setAge(Long age) {this.age = age;}}
如果觉得《java8:封装lambda泛型工具类之list转为map》对你有帮助,请点赞、收藏,并留下你的观点哦!