HashMapa w Java

W czym jest Hashmap Java?

HashMap zasadniczo oznacza unikalne klucze do odpowiedniego wartoล›ci ktรณre moลผna odzyskaฤ‡ w dowolnym momencie.

HashMapa w Java

Cechy Java Hashmapa

a) wartoล›ci moลผna zapisaฤ‡ na mapie, tworzฤ…c plik a kluczowa wartoล›ฤ‡ para. Wartoล›ฤ‡ moลผna pobraฤ‡ za pomocฤ… klucza przekazujฤ…c jฤ… do wล‚aล›ciwej metody.

b) Jeล›li ลผadnego elementu istnieje na mapie, wyล›wietli komunikat โ€žWyjฤ…tek NoSuchElementโ€.

c) Tylko sklepy HashMap odniesienia do obiektรณw. Dlatego nie da siฤ™ z niego skorzystaฤ‡ prymitywne typy danych jak double lub int. Uลผyj klasy opakowujฤ…cej (jak Integer lub Double) zamiast.

Cechy Java Hashmapa

Korzystanie z HashMaps w Java Programy:

Oto dwa sposoby deklarowania mapy skrรณtรณw:

HashMap<String, Object> map = new HashMap<String, Object>();
HashMap x  = new HashMap();

Waลผne metody Hashmap

  • pobierz (KLUCZ obiektu) โ€“ To zwrรณci wartoล›ฤ‡ powiฤ…zanฤ… z okreล›lonym kluczem w this Java mapa skrรณtรณw.
  • put(KLUCZ obiektu, WARTOลšฤ† ciฤ…gu) โ€“ Ta metoda przechowuje okreล›lonฤ… wartoล›ฤ‡ i kojarzy jฤ… z okreล›lonym kluczem na tej mapie.

Java Przykล‚ad Hashmapy

Poniลผej znajduje siฤ™ przykล‚adowa implementacja mapy skrรณtรณw Java:

import java.util.HashMap;
import java.util.Map;
public class Sample_TestMaps{
  public static void main(String[] args){
    Map<String, String> objMap = new HashMap<String, String>();
    objMap.put("Name", "Suzuki");
    objMap.put("Power", "220");
    objMap.put("Type", "2-wheeler");
    objMap.put("Price", "85000");
    System.out.println("Elements of the Map:");
    System.out.println(objMap);
  }
}

Wyjล›cie:

Elements of the Map:
{Type=2-wheeler, Price=85000, Power=220, Name=Suzuki}

Przykล‚ad: Usuล„ wartoล›ฤ‡ z HashMap na podstawie klucza

import java.util.*;  
public class HashMapExample {  
   public static void main(String args[]) {  
   // create and populate hash map  
   HashMap<Integer, String> map = new HashMap<Integer, String>();           
   map.put(1,"Java");  
   map.put(2, "Python");  
   map.put(3, "PHP");  
   map.put(4, "SQL");
   map.put(5, "C++");
   System.out.println("Tutorial in Guru99: "+ map);    
   // Remove value of key 5  
   map.remove(5);  
   System.out.println("Tutorial in Guru99 After Remove: "+ map);
   }
}

Wyjล›cie:

Tutorial in Guru99: {1=Java, 2=Python, 3=PHP, 4=SQL, 5=C++}
Tutorial in Guru99 After Remove: {1=Java, 2=Python, 3=PHP, 4=SQL}

Zadajmy kilka zapytaล„ samej Mapie Hash, aby poznaฤ‡ jฤ… lepiej

P: A zatem, Panie Hashu Mapie, jak mogฤ™ sprawdziฤ‡, czy dany klucz zostaล‚ do Pana przypisany?

O: ลšwietnie, moลผesz uลผyฤ‡ ze mnฤ… metody zawieraKey(Object KEY), zwrรณci ona wartoล›ฤ‡ logicznฤ…, jeล›li mam wartoล›ฤ‡ dla danego klucza.

P: Jak znaleลบฤ‡ wszystkie dostฤ™pne klucze obecne na mapie?

Odp.: Mam metodฤ™ zwanฤ… as zestaw kluczy() ktรณry zwrรณci wszystkie klucze na mapie. W powyลผszym przykล‚adzie, jeล›li napiszesz liniฤ™ jako โ€“
System.out.println(objMap.keySet());

Zwrรณci wydajnoล›ฤ‡ jak-
[Nazwa, typ, moc, cena]

Podobnie, jeล›li potrzebujesz tylko wszystkich wartoล›ci, mam metodฤ™ wartoล›ci().
System.out.println(objMap.values());

Zwrรณci wydajnoล›ฤ‡ jak-
[Suzuki, dwukoล‚owiec, 2, 220]

P: Zaล‚รณลผmy, ลผe muszฤ™ usunฤ…ฤ‡ tylko okreล›lony klucz z mapy. Czy muszฤ™ usunฤ…ฤ‡ caล‚ฤ… mapฤ™?

Odp.: Nie, kolego!! Mam metodฤ™ usunฤ…ฤ‡(Object KEY), ktรณry usunie tylko tฤ™ konkretnฤ… parฤ™ klucz-wartoล›ฤ‡.

P: Jak moลผemy sprawdziฤ‡, czy faktycznie zawierasz pary klucz-wartoล›ฤ‡?

Odp.: Po prostu sprawdลบ, czy jestem pusty, czy nie!! Krรณtko mรณwiฤ…c, uลผyj jest pusty() metoda przeciwko mnie..

Podsumuj ten post nastฤ™pujฤ…co: