Ich versuche, diesen folgenden Code zu tun:Converting Kollektionen mit Sammlungen
Map<Node, TreeSet<String>> childrenNodes = new TreeMap<>(getAll());
I getAllNodesAndEdges
Methode Header unten setzen:
public Map<Node, Set<String>> getAll() {...}
Ich brauche eine Übersichtskarte und die Menge in der es zu konvertieren in beide und TreeSet
für sortierten Druck. Das erste Stück Code hat jedoch einen Kompilierungsfehler, der besagt: "Cannot infer type arguments for TreeMap<>"
Was ist der beste Weg, um das zu beheben?
Edit: weitere Informationen unter
In Information.java
:
public Map<Node, Set<String>> getAll() {
return this.all;
}
jedoch test1.java
Bedürfnisse verwenden Sie den Code
Map<Node, HashSet<String>> all = getAll()
und test2.java
braucht den Code zu verwenden
Map<Node, TreeSet<String>> childrenNodes = new TreeMap<Node, TreeSet<String>>(getAll());
aber beide Typenkonflikt Lauf kompilieren Fehler
die erste:
Type mismatch: cannot convert from Map<Node,Set<String>> to Map<Node,HashSet<String>>
die zweite:
The construtor TreeMap<Node,TreeSet<String>>(Map<Node,Set<String>>) is undefined
Sie Typ Argumente brauchen innerhalb '<>'. Sie können nicht automatisch abgeleitet werden, so wie der Fehler –
lautet. Oder Sie können 'getAll' veranlassen, eine TreeMap selbst zurückzugeben. –
@ cricket_007 Wie würde ich das machen? – Michael