【发布时间】:2019-07-27 09:57:01
【问题描述】:
我有一个清单:
private List <String> list;
我想将其转换为 LinkedHashMap(以保持顺序),以便映射中的前两个值是 LinkedHashMap 条目,依此类推,直到列表是 LinkedHashMap:
private LinkedHashMap<String, String> linked;
这是我想出的。诚然,我是 Collectors 实现的新手,所以请耐心等待:
linked = list.stream()
.collect(Collectors.toMap(
Function.identity(),
String::valueOf, //Used to be String::length
LinkedHashMap::new));
这在 LinkedHashMap 构造函数行上给了我一个错误:
Cannot resolve constructor of LinkedHashMap
这是列表的示例:
zero
test0
one
test1
two
test2
以及我希望地图的外观:
zero:test0
one:test1
two:test2
谢谢
【问题讨论】:
-
String::length返回Integer不是String -
您的意思是将
linked声明为Map<String, Integer>? -
您能否举例说明您希望 LinkedHashMap 在不同输入列表中的样子?
-
我的意思是声明 Map
@ernest_k -
请参阅 OP @dnault
标签: java lambda java-stream linkedhashmap collectors