Holen Sie sich ein HashSet aus die Schlüssel einer HashMap?

Ich habe eine ziemlich große (100'000s Einträge) HashMap. Jetzt brauche ich ein HashSet mit allen Schlüsseln aus dieser HashMap. Leider HashMap nur keySet() Methode gibt eine Set aber nicht HashSet.

Was wäre ein effizienter Weg, um erzeugen eine solche HashSet mit Java?

Warum brauchen Sie ein HashSet und nicht nur ein Satz?
Eine Methode, die ich anrufen muss ein HashSet und der entsprechende code ist nicht von mir geschrieben.
eww. wer schrieb, dass die Methode braucht eine gute Unterhaltung. 🙂
+1 Ihr Kommentar erklärt alles. Froh, dass Sie eine Lösung gefunden. 🙂
Sie sollten wissen, dass es zu einem Leistungseinbruch. Wenn Sie bauen die HashSet von keySet(), wird es im Grunde duplizieren Sie den gesamten Satz. Ich bin mir nicht sicher, wie lange es dauert, dies zu tun auf 100.000 s von Elementen, aber es ist definitiv zu fressen eine Menge Speicher. Ich weiß, Sie haben keine andere option, aber das könnte Euch mehr Munition zu verlangen, wer schrieb die Methode zu ändern, so dauert es eine Reihe eher als ein HashSet. (Und, es sei denn, Sie tun etwas, das wirklich komisch ist, sollte Sie in der Lage, nur den parameter ändern und der rest funktioniert mit keine änderung).

InformationsquelleAutor Haes | 2009-10-26

Schreibe einen Kommentar