Java: konvertieren HashMap Werte Einstellen<Integer>
Noch eine Frage zur HashMap<> in Java:
Habe ich Folgendes
Map<String, Set<Integer>> myWordDict = new HashMap<String, Set<Integer>>();
Nach Speicherung von Daten in der variable myWordDict
möchte ich Durchlaufen und die HashMapValues, und fügen Sie jeden Wert in eine neue variable Setzen?
Wenn ich versuche zu tun Set<Integer> newVariable = myWordDict.entrySet()
scheint es, ist der Datentyp nicht kompatibel.
Also meine Frage ist im wesentlichen:
wie konvertiert HashMap Werte oder entrySet() zu Setzen ?
Dank
- Was ist der map-Wert geben?
- Möchten Sie alle Schlüssel-Wert-Kombinationen als ein Satz? Oder wollen Sie nur die Schlüssel oder Werte?
- Ich möchte nur die Werte in der Set<Integer>. Der value-Typ ist Integer.
- Sie sagen, der Wert, der Typ ist Integer, aber in dem oben genannten Beispiel der Wert-Typ wird tatsächlich<Integer>.
- ja, der Wert ist<Integer>. sorry für die Verwirrung
- Könnten Sie die Antwort akzeptieren, dass dein problem gelöst oder die Lösung, die Sie ging mit?
Du musst angemeldet sein, um einen Kommentar abzugeben.
Ihre Erklärung sollte wie folgt Aussehen. Es wird konvertieren Sie Ihre Karte Werte zu
Collection
ClassCastException
.Versuchen:
oder
Was bedeutet
entrySet
gibt?Wenn Sie möchten, Durchlaufen Sie die
myWordDict
hash map dann nurWeiterführende links
Wenn Sie müssen, alle Werte als
Set
vonIntegers
und nicht alsSet
vonSet
, dann könnte man so etwas tunOder, wenn Sie wollen, dass Sie als
Set
vonSet
, müssen Sie etwas tun, wie diesesverwenden
myWordDict.values()
, nichtmyWordDict.entrySet()
. Werte ist eine Reihe von der Kartevalues
, in der Erwägung, dassentrySet
ist ein Satz von seinen mappings (es ist ein Satz von java.util.Karte.Eintrag Objekte, von denen jeder beschreibt eine key-und eine value).Davon aus, dass Sie hinzufügen möchten, alle Werte aus den Sätzen, die in der Karte Ihr Ansatz ist die Verwendung addAll Methode:
myWordDict
- wenn Sie 10 Einträgefor
Schleife wird 10 Iterationen.flatMap wird Ihnen helfen:
So, ich kam mit einem iterator zu Durchlaufen und den Wert
Ich habe diese Datenstruktur
Ich erstellt
Dann einfach mit einer while () - Schleife zum hinzufügen einzelner Wert für eine neue variable Setzen. Ich bin nicht sicher, ob dies der effizienteste Weg ist, aber es funktioniert für meine Bedürfnisse.`