【发布时间】:2015-05-19 08:40:21
【问题描述】:
我正在从List 创建一个Map,如下所示:
List<String> strings = Arrays.asList("a", "bb", "ccc");
Map<String, Integer> map = strings.stream()
.collect(Collectors.toMap(Function.identity(), String::length));
我想保持与List 中相同的迭代顺序。如何使用Collectors.toMap() 方法创建LinkedHashMap?
【问题讨论】:
-
请在下面查看我的答案。对于
stream的collect方法,使用自定义Supplier、Accumulator和Combiner只需 4 行代码 :) -
问题已经回答了,我只是想列出找到这个问题答案的路径。(1)你想要在地图中排序,你必须使用LinkedHashMap(2)Collectors.toMap () 有很多实现,其中一个需要一个 Map。所以在它期望 Map 的地方使用 LinkedHashMap。
标签: java collections java-8 java-stream