Java HashMap Keyes generieren?
Ich muss eine Datei in eine HashMap einstellen, aber diese Datei beinhalten pro Zeile nur ein Wort (soll nur ein Test sein). Soweit ich die HashMap verstanden habe, ist das dann die value, aber wie bekomme ich die keyes? Vor allem, dass doppelte Zeile nicht eingelesen werden.
Mit einem int keyes und dann nach jedem while-Durchlauf habe ich auch die Duplpikate.
2 Antworten
Wenn du nicht willst, dass Duplikate in die Map gespeichert werden, dann musst du vor dem Einfügen prüfen, ob der Wert bereits enthalten ist.
Was du als Key setzt, bleibt dir überlassen. Es kann einfach nur ein index-Integer sein, den du hochzählst.
Ja aber das funktioniert ja so gesehen schon. Nur das ich "ausversehen" map.put(zeile, zeile); hinzugefügt habe. Also ist somit der key, als auch die value identisch. Das sieht dann aber bei der Ausgabe extrem unübersichtlich aus, weswegen ich als key einfach nur 1 = Plus, 2 = Dezimal, usw. haben möchte.
Eben, das ist das Problem. Wenn ich map.put(zeile, zeile) hinzufüge, werde die dopelten nicht gesetzt.
Hey,
was spricht denn dann gegen ein Set? Ein Set braucht keine Keys und lässt auch, anders als List, keine Doppelungen zu.
Mfg Jannick (L1nd)
Also einfach noch nebenbei eine for-Schleife durchlaufen lassen, welche überprüft ob key1 schon in den vorherigen vorhanden ist?