【发布时间】:2018-05-08 02:06:04
【问题描述】:
有没有办法在 Java 8 中将 Java List 转换为 Map? 我有一个列表,我想将其内容添加到地图
【问题讨论】:
-
方法有很多。细节取决于列表的元素应该如何与地图中的条目相关。
有没有办法在 Java 8 中将 Java List 转换为 Map? 我有一个列表,我想将其内容添加到地图
【问题讨论】:
我假设你已经创建了一个名为 slist 的 List 和一个名为 map 的 Map,它是从 HashMap 初始化的 要从列表创建地图,您需要在列表上运行 for 循环。
for(String skey: slist){
map.put(skey,yourLongValue); //Enter any Long value you desire or create a method which gets value dynamically like getLongValue()
}
【讨论】:
假设类 SomeType 有一个构造函数和两个名为 id 和 name 的字段
List<SomeType> list = new ArrayList<>();
list.add(new SomeType(1, "a"));
list.add(new SomeType(2, "b"));
list.add(new SomeType(3, "c"));
Map<Integer, String> result = list.stream().collect(
Collectors.toMap(SomeType::getId, SomeType::getName));
【讨论】: