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
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.
naja das beste wär, du baust dir eine Klasse die das kapselt, oder du suchst mal nach MultiMap. Da gibts was von Apache
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
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.