HashMap - pobranie klucza pasującego do wartości

HashMap - pobranie klucza pasującego do wartości
M4
  • Rejestracja: dni
  • Ostatnio: dni
  • Postów: 221
0

Mam pytanie odnośnie tego, w jaki sposób otrzymać klucz pasujący do zadanej wartości (jego wartość).
Jeśli chodzi o sytuację odwrotną (czyli wartość pasująca do klucza) to można zrobić tak:

Kopiuj
HashMap.get(i).contains(password))

ale jak zrobić odwrotnie?

Althorion
  • Rejestracja: dni
  • Ostatnio: dni
  • Postów: 1620
0

Jeśli możesz, zmień strukturę na mapę dwukierunkową, np. stąd.

Jeśli nie, to pozostaje Ci przejrzeć całą mapę i patrzeć, kiedy będzie pasować.

M4
  • Rejestracja: dni
  • Ostatnio: dni
  • Postów: 221
0

Dzięki za szybkie odpowiedzi ale mam jeszcze jedno pytanie w jaki sposób przeszukać HashMap aby zwróciło klucze dla których wartości są takie same?
Mam coś takiego:

Kopiuj
HashMap<Integer, ArrayList<String>> cos

i chciałbym zwrócić wszystkie listy, w których element powtarza się dla różnych kluczy np:

Kopiuj
cos(1, "ala" "kota")
cos(2, "cos" "tam")
cos(3, "ala" "ma")

i chciałbym wartości 1 i 3

znalazłem retainAll<> tylko teraz jak zrobię:

Kopiuj
cos.values().retainAll(cos.values());

to jak te wspólne elementy dodać do innej listy?

Zarejestruj się i dołącz do największej społeczności programistów w Polsce.

Otrzymaj wsparcie, dziel się wiedzą i rozwijaj swoje umiejętności z najlepszymi.