public class Element {
private Long id;
private String groupType;
}
我有元素列表。与其他groupType相似的列表 'group1','group2'{1,group1},{2,group1},{3,group2} {4,group2}
我想为每个组创建两个不同列表的地图,但是 ids(Map>)不能与Element对象一起使用 地图>
下面的代码对于Map>正常工作,即
Map<String, List<Element>> elementByGroup = new HashMap<>();
elementByGroup = element.stream().collect(
Collectors.groupingBy(Element::getGroupType));
我如何以Map
>的形式收集结果。我知道 通过迭代Map然后迭代列表,我们可以获得ID的列表 没有Java8。但是我想通过使用 上面的代码在groupingby函数之后。
答案 0 :(得分:2)
看起来像这样
elements.stream()
.collect(Collectors.groupingBy(Element::getGroupType,
Collectors.mapping(Element::getId,
Collectors.toList())));