我有这样的课
ObjectA
id
type
id是唯一的,但是类型可以重复,所以如果我有一个像这样的ObjectA列表
(id, type) = (1, "A") , (2, "B"), (3, "C"), (4, "A")
那我要
Map<type, List<id>>
在哪里map 是
< "A",[1,4],
"B",[2],
"C",[3] >
它可以与Java 7一起使用,但是找不到在Java 8中实现的方法。在Java 8中,我可以创建键,值对,但是如果类型相同,则无法创建列表。
最佳答案
yourTypes.stream()
.collect(Collectors.groupingBy(
ObjectA::getType,
Collectors.mapping(
ObjectA::getId, Collectors.toList()
)))
关于java-8 - Java 8中要映射的对象列表,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/48747537/