Forum: PC-Programmierung Java Problem mit HashMap


von javabeginner (Gast)


Lesenswert?

Hallo,

ich habe ein Problem bei Verwendung einer Hashmap. Bei der Hashmap 
sollen bei gleichem "key" mehrere "values" eingetragen werden. Deshalb 
steht bei "values" nicht ein Wert sondern eine Liste.

Wie kann ich jetzt einen Eintrag in die Hashmap vornehmen?
Mein Problem ist nicht den Key einzutragen sondern den value?

x.put(a,b)?

Grüße

von scw (Gast)


Lesenswert?

Wenn du eine List in deiner Hashmap hast, dann mittels:
if(!x.containsKey(key))
{
  x.put(key, new ArrayList());
}

x.get(key).add(value);

Das speichert dir den Wert "value" in der ArrayList, die unter dem 
Schlüssel "key" liegt.

von Vlad T. (vlad_tepesch)


Lesenswert?

naja das beste wär, du baust dir eine Klasse die das kapselt, oder du 
suchst mal nach MultiMap.
Da gibts was von Apache

von Stefan M. (Gast)


Lesenswert?

Etwas optimierter geht es so:
1
List l= x.get(key);
2
if ( l == null ) {
3
  x.put(key, l= new ArrayList());
4
}
5
l.add(value);

Bitte melde dich an um einen Beitrag zu schreiben. Anmeldung ist kostenlos und dauert nur eine Minute.
Bestehender Account
Schon ein Account bei Google/GoogleMail? Keine Anmeldung erforderlich!
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.