Nicht darauf schließen, geben Sie Argumente für die hashmap<>
Ich bin immer
Cannot infer type arguments for java.util.HashMap<>
für den folgenden code
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);
}
}
Was schief gelaufen ist und Kann mir jemand Erklären mir das ?
Ich habe für die ordnungsgemäße Einfuhr und fand heraus, dass ich bin, importieren von java.util.hashmap und keine andere.
Noch die lästigen Fehler buging mir.
Du musst angemeldet sein, um einen Kommentar abzugeben.
Das ist ein Fehler in
ecj
(eclipse-compiler), können Sie es umgehen, und fügen Sie weitere Informationen eingeben :Sehen, wie ich Hinzugefügt habe
ArrayList<Integer>
.Kompiliert er fein mit
javac-8 and 9
.Und btw scheint, wie es ist ein einfacher Weg, Dinge zu tun:
javac
...In meinem Fall, der Fehler verschwand nach dem hinzufügen
import java.util.Map;
:dein code nicht vollständig ist, und Sie verpassen eine
)
tun versuchen:
diese produzieren den output