Java8使用Lambda把List转换为Map

使用Java8的Collections可以很简便地把List转换为Map

以User为例

List里的User名字唯一

Map<String, User> result =
    users.stream().collect(Collectors.toMap(User::getName,
                                              Function.identity()));

List里的User存在重名

Map<String, List<User>> result =
 users.stream().collect(Collectors.groupingBy(Choice::getName));

版权声明:著作权归作者所有。

相关推荐

Java 9数组转换为List

Java 9使用List.of在Java 9,List新增了of()的工厂方法用来产生不可变的列表。返回一个空列表List list = List.of(); 多个元素生成列表List<Integer> list = List.of(1,2,3,4,5); 数组转换为列表Integer[] arr

Java 8使用Collectors.partitioningBy分割列表

有这样一个集合:List<Integer> integers = [ 1,2,3,4,5,6,7,8,9] 现在需要把集合按奇偶数分割为两个列表。这种情况下,我们可以使用Collectors.partitioningBy来分割:Map<Boolean, List<Integer>> map =

Java 8 Stream API转换到Kotlin集合API

Kotlin提供的集合操作的API相对Java 8 Stream的API简洁很多。下面是Java 8 Stream API转换到Kotlin集合API。 映射属性聚合为列表// Java:   List<String> names = users.stream().m

TypeScript:字符串转换为数字

在TypeScript,String转换为Number有以下方式:Number构造函数(推荐)let n = Number('1234') // 1234 let nan = Number('abcd') // NaN +号操作符let n = +'1234'