HashMap wartości jako LinkedList

0

Muszę użyć struktury tego typu : HashMap<String, LinkedList<String>> mapa. W jakis sposób dodawać nowe elementy do listy dla konkretnego klucza? Np.

a - klucz, wartosci: a,a,a,b,b,b,z
b - klucz, wartosci: c,c,c,d

Jak dobrac się o tej mapy? W cpp bylo coś takiego jak first/second, a tu? Nic nie moge znalezc

0
HashMap<String, LinkedList<String>> mapa = new ...;
String klucz = ...;
String wartosc = ...;
LinkedList<String> lista = null;
if (mapa.contains(klucz)) {
  lista = mapa.get(klucz);
} else {
  lista = new LinkedList<String>();
}
lista.add(wartosc);
mapa.put(lista);

// albo jakos tak ;)

0

dzięki za odpowiedz!

Ale jeśli chodzi o ta linijke: mapa.put(lista); to skad mam wiedziec, ze ta mape wstawie pod taki klucz, jaki chce ?

0

W zasadzie kod można chyba nieco uprościć:

HashMap<String, LinkedList<String>> mapa = new ...;
String klucz = ...;
String wartosc = ...;
LinkedList<String> lista = mapa.get(klucz);
if (lista == null) {
  lista = new LinkedList<String>();
  mapa.put(klucz, lista);
}
lista.add(wartosc);
 

1 użytkowników online, w tym zalogowanych: 0, gości: 1