Java 将 List 转化为 Map 集合 - 使用 Stream 和 Collectors.toMap
Java 中可以使用 Stream 和 Collectors 的 toMap 方法将 List 转化为 Map 集合。以下是一个示例代码:
import java.util.*;
import java.util.stream.Collectors;
public class ListToMapExample {
public static void main(String[] args) {
// 创建一个 List
List<String> list = new ArrayList<>();
list.add('Apple');
list.add('Banana');
list.add('Orange');
// 使用 stream 和 Collectors 的 toMap 方法将 List 转化为 Map
Map<Integer, String> map = list.stream()
.collect(Collectors.toMap(list::indexOf, item -> item));
// 打印 Map 集合
for (Map.Entry<Integer, String> entry : map.entrySet()) {
System.out.println(entry.getKey() + ': ' + entry.getValue());
}
}
}
运行以上代码,将输出以下结果:
0: Apple
1: Banana
2: Orange
在上述代码中,我们使用了 stream 的 collect 方法,并传入 Collectors.toMap 方法。toMap 方法接受两个参数,第一个参数是用于生成 Map 的 key 的函数,这里使用了 list::indexOf 方法获取元素在 List 中的索引作为 key;第二个参数是用于生成 Map 的 value 的函数,这里使用了 lambda 表达式 item -> item 保持元素不变作为 value。
这样就可以将 List 转化为 Map 集合。
原文地址: https://www.cveoy.top/t/topic/qkt4 著作权归作者所有。请勿转载和采集!