HashMap v Java

V ฤem je Hashmap Java?

HashMap v podstatฤ› oznaฤuje jedineฤnรฉ klรญฤe k odpovรญdajรญcรญmu hodnoty kterรฉ lze v libovolnรฉm mรญstฤ› zรญskat.

HashMap v Java

Vlastnosti Java Hashmap

a) hodnoty lze uloลพit do mapy vytvoล™enรญm a klรญฤ โ€“ hodnota pรกr. Hodnotu lze zรญskat pomocรญ klรญฤe pล™edรกnรญm sprรกvnรฉ metodฤ›.

b) Pokud ลพรกdnรฝ prvek existuje na mapฤ›, vyvolรก to โ€žNoSuchElementException'.

c) Pouze uklรกdรก HashMap reference objektลฏ. To je dลฏvod, proฤ je nemoลพnรฉ pouลพรญt primitivnรญ datovรฉ typy jako double nebo int. Pouลพijte obalovou tล™รญdu (jako Integer nebo Double) namรญsto.

Vlastnosti Java Hashmap

Pouลพitรญ HashMaps v Java Programy:

Nรญลพe jsou uvedeny dva zpลฏsoby, jak deklarovat hash mapu:

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

Dลฏleลพitรฉ metody hashmap

  • zรญskat (klรญฤ objektu) โ€“ Tรญm se vrรกtรญ hodnota spojenรก se zadanรฝm klรญฤem v tomto Java hashmap.
  • put(KEY KEY, ล™etฤ›zec VALUE) โ€“ Tato metoda uloลพรญ zadanou hodnotu a pล™idruลพรญ ji k zadanรฉmu klรญฤi v tรฉto mapฤ›.

Java Pล™รญklad hashmap

Nรกsleduje ukรกzkovรก implementace java Hash Map:

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);
  }
}

Vรฝstup:

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

Pล™รญklad: Odeberte hodnotu z HashMap na zรกkladฤ› klรญฤe

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);
   }
}

Vรฝstup:

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}

Dovolte nรกm poloลพit nฤ›kolik dotazลฏ samotnรฉ Hash mapฤ›, abychom ji lรฉpe poznali

Q: Takลพe pane Hash Map, jak mohu zjistit, zda vรกm byl pล™iล™azen konkrรฉtnรญ klรญฤ?

A: Super, mลฏลพete se mnou pouลพรญt metodu obsahujeKey(Object KEY), vrรกtรญ booleovskou hodnotu, pokud mรกm hodnotu pro danรฝ klรญฤ.

Otรกzka: Jak najdu vลกechny dostupnรฉ klรญฤe, kterรฉ jsou na mapฤ›?

A: Mรกm metodu s nรกzvem as sada klรญฤลฏ(), kterรก vrรกtรญ vลกechny klรญฤe na mapฤ›. Pokud ve vรฝลกe uvedenรฉm pล™รญkladu napรญลกete ล™รกdek jako โ€“
System.out.println(objMap.keySet());

Vrรกtรญ se to an vรฝstup tak jako-
[Nรกzev, typ, vรฝkon, cena]

Podobnฤ›, pokud potล™ebujete pouze vลกechny hodnoty, mรกm metodu hodnoty().
System.out.println(objMap.values());

Vrรกtรญ se to an vรฝstup tak jako-
[Suzuki, dvoukolka, 2, 220]

Otรกzka: Pล™edpoklรกdejme, ลพe potล™ebuji z mapy odstranit pouze konkrรฉtnรญ klรญฤ, musรญm smazat celou mapu?

A: Ne kamarรกde!! Mรกm metodu odstranit(Object KEY), kterรฝ odstranรญ pouze tento konkrรฉtnรญ pรกr klรญฤโ€“hodnota.

Otรกzka: Jak mลฏลพeme zkontrolovat, zda skuteฤnฤ› obsahuje nฤ›jakรฉ pรกry klรญฤโ€“hodnota?

A: Jen zkontrolujte, jestli jsem prรกzdnรฝ nebo ne!! Zkrรกtka pouลพรญvejte je prรกzdnรฝ() metoda proti mnฤ›..

Shrลˆte tento pล™รญspฤ›vek takto: