【发布时间】:2021-09-21 00:53:39
【问题描述】:
我有一个看起来像这样的实体:
public class Snippet {
private Integer docId;
private Integer page;
private Payload payload;
}
输入数据是List<Snippet>
我需要创建一个索引,允许我们遍历 docId 和页面并获取相关的 Snippet 对象。
所以数据结构是这样的:
Map<Integer, Map<Integer, List<Snippet>>>
我可以使用 Java 流来获取 Map
List<Snippet> input = ....;
input.stream()
.collect(Collectors.groupingBy(
Snippet::getDocId,
Collectors.toMap(Snippet::getPage, Function.identity())
)
);
如何进行收集以获取 List 作为最终地图值?
【问题讨论】:
标签: java java-stream