【发布时间】:2018-05-07 01:45:46
【问题描述】:
我来了
Cannot infer type arguments for java.util.HashMap<>
以下代码
class Test {
public static void main(String[] args) {
Map<Integer, String> map = new HashMap<>();
map.put(1, "x");
map.put(2, "y");
map.put(3, "x");
map.put(4, "z");
//the following line has error
Map<String, ArrayList<Integer>> reverseMap = new java.util.HashMap<>(map.entrySet().stream()
.collect(Collectors.groupingBy(Map.Entry::getValue)).values().stream()
.collect(Collectors.toMap(item -> item.get(0).getValue(),
item -> new ArrayList<>(item.stream().map(Map.Entry::getKey).collect(Collectors.toList()))));
System.out.println(reverseMap);
}
}
出了什么问题,谁能解释一下? 我检查了正确的导入,发现我正在导入 java.util.hashmap 而不是其他。 这个讨厌的错误仍然困扰着我。
【问题讨论】:
标签: java java-8 hashmap java-stream