Java 将List转换为Map
List是Collection的一个子接口。它是一个对象的有序集合,其中可以存储重复的值。由于List保留了插入的顺序,它允许对元素进行位置访问和插入。List接口由ArrayList、LinkedList、Vector和Stack类实现。
java.util.Map接口表示一个键和一个值之间的映射。Map接口不是Collection接口的一个子类型。因此它的行为与其他的集合类型有些不同。
例子
输入: List : [1="1", 2="2", 3="3"]
输出: Map : {1=1, 2=2, 3=3}
输入: List : [1="Geeks", 2="for", 3="Geeks"]
输出: Map : {1=Geeks, 2=for, 3=Geeks}
下面是在Java中把List转换成Map的各种方法。为此,我们假设List的每个元素都有一个标识符,它将被用作生成的Map中的键。
- 按列表对象使用:
步骤:
- 获取要转换为地图的列表
- 创建一个空的地图
- 遍历列表中的项目,并将其逐一添加到地图中。
- 返回形成的地图
输出:
- 使用Collectors.toMap()方法:该方法包括创建一个学生对象的列表,并使用Collectors.toMap()将其转换为一个Map。
步骤:
1. 获取要转换为地图的列表
2. 使用List.stream()方法将列表转换为流。
3. 在Collectors.toMap()方法的帮助下创建地图
4. 使用stream.collect()方法收集形成的地图。
5. 返回形成的地图
输出:
- 使用Collectors.groupingBy()创建MultiMap:
步骤:
- 获取要转换为地图的列表
- 使用List.stream()方法将列表转换为流。
- 在Collectors.groupingBy()方法的帮助下创建地图。
- 使用stream.collect()方法收集形成的地图。
- 返回形成的地图
输出: