失眠网,内容丰富有趣,生活中的好帮手!
失眠网 > java8:封装lambda泛型工具类之list转为map

java8:封装lambda泛型工具类之list转为map

时间:2022-04-08 17:09:08

相关推荐

java8:封装lambda泛型工具类之list转为map

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》对你有帮助,请点赞、收藏,并留下你的观点哦!

本内容不代表本网观点和政治立场,如有侵犯你的权益请联系我们处理。
网友评论
网友评论仅供其表达个人看法,并不表明网站立场。