我有一个简单的类:
public class Rule {
int id;
long cableType;
}
我想将一个包含此类对象的列表转换为
Map<Integer, Long>
,所以我写了以下代码:Map<Integer, Long> map = ruleList.stream().collect(Collectors.toMap(Rule::getId, Rule::getCableType));
列表中存在重复项,如(1, 10), (1,40)
,当我运行此代码时,会出现以下异常:
Exception in thread "main" java.lang.IllegalStateException: Duplicate key 21 (attempted merging values 31 and 30)
我该如何修复这个问题?
Map
中,不能将两个不同的值映射到相同的键。 - Koenigsberg