HashMap sisse Java

โšก Nutikas kokkuvรตte

HashMap sisse Java salvestab andmeid unikaalsete vรตtme-vรครคrtuse paaridena, mida saab vรตtme abil kiiresti hankida. See sisaldab objektiviiteid primitiivide asemel, seega kasutatakse wrapper-klasse ja pakub meetodeid nagu put, get, remove ja containsKey.

  • ๐Ÿ—๏ธ HashMap defineeritud: Salvestab unikaalsed vรตtmed, mis on seotud vรครคrtustega, et vรตtme abil kiiresti otsingutulemusi leida.
  • ๐Ÿ“ฆ Objekti viited: Hoiab ainult objekte, seega kasutage primitiivide asemel รผmbrisklasse, nรคiteks Integer.
  • ๐Ÿ”ง Pรตhimeetodid: put() salvestab paari, get() hangib vรครคrtuse, remove() kustutab vรตtme kaupa.
  • ๐Ÿ” Otsingud: Kaardi sisu kontrollivad funktsioonid containsKey(), keySet(), values() ja isEmpty().
  • ๐Ÿงช Nรคited: Nรคidisprogrammid loovad kaardi, prindivad selle ja eemaldavad kirje vรตtme abil.

HashMap sisse Java

Milles on Hashmap Java?

HashMap tรคhistab pรตhimรตtteliselt unikaalsed vรตtmed vastama vรครคrtused mida saab igal konkreetsel hetkel taastada.

HashMap sisse Java

Tunnused Java Hashmap

a) vรครคrtused saab salvestada kaardile, moodustades a vรตtmevรครคrtus paar. Vรครคrtuse saab hankida vรตtme abil, edastades selle รตigele meetodile.

b) Kui elementi pole on kaardil olemas, viskab seeNoSuchElementException'.

c) Ainult HashMapi kauplustes objekti viited. Seetรตttu on seda vรตimatu kasutada primitiivsed andmetรผรผbid nagu topelt vรตi int. Kasutage รผmbrisklassi (nt Integer vรตi Double) asemel.

Tunnused Java Hashmap

HashMapsi kasutamine Java Programmid:

Rรคsikaardi deklareerimiseks on kaks vรตimalust:

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

Olulised Hashmapi meetodid

  • hanki (objekti KEY) โ€“ See tagastab selles mรครคratud vรตtmega seotud vรครคrtuse Java hashmakaart.
  • pane (objekti KEY, string VALUE) โ€“ See meetod salvestab mรครคratud vรครคrtuse ja seostab selle sellel kaardil mรครคratud vรตtmega.

Java Hashmapi nรคide

Jรคrgmine on java Hash Mapi nรคidisrakendus:

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รคljund:

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

Nรคide: eemaldage HashMapist vรครคrtus vรตtme alusel

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รคljund:

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}

Lubage meil esitada paar pรคringut rรคsikaardile endale, et seda paremini tundma รตppida

K: Niisiis, Mr.Hash Map, kuidas ma saan teada, kas teile on mรครคratud konkreetne vรตti?

V: Lahe, saate minuga kasutada meetodit includeKey(Object KEY), see tagastab Boole'i โ€‹โ€‹vรครคrtuse, kui mul on antud vรตtme jaoks vรครคrtus.

K: Kuidas leida kรตiki saadaolevaid vรตtmeid, mis kaardil on?

V: Mul on meetod nimega as vรตtmekomplekt(), mis tagastab kรตik kaardil olevad vรตtmed. Kui kirjutate รผlaltoodud nรคites rea kujul -
System.out.println(objMap.keySet());

See tagastab an vรคljund nagu-
[Nimi, tรผรผp, vรตimsus, hind]

Samamoodi, kui vajate ainult kรตiki vรครคrtusi, on mul meetod vรครคrtused,
System.out.println(objMap.values());

See tagastab an vรคljund nagu-
[Suzuki, kaherattaline, 2, 220]

K: Oletame, et ma pean kaardilt eemaldama ainult kindla vรตtme, kas ma pean kustutama kogu kaardi?

V: Pole sรตber!! Mul on meetod kรตrvaldama(Objekti KEY), mis eemaldab ainult selle konkreetse vรตtme-vรครคrtuse paari.

K: Kuidas saame kontrollida, kas teil on tรตesti mรตned vรตtme-vรครคrtuste paarid?

V: Lihtsalt kontrollige, kas mul on tรผhi vรตi mitte!! รœhesรตnaga, kasutage on tรผhi() meetod minu vastu..

KKK

HashMap on sรผnkroonimata ja lubab รผhte nullvรตtit ja mitut nullvรครคrtust, muutes selle รผhelรตimeliseks kasutamiseks kiiremaks. Hashtable on sรผnkroniseeritud ja ei luba nullvรตtmeid ega -vรครคrtusi, muutes selle lรตimekindlaks, kuid aeglasemaks.

Jah. HashMap lubab tรคpselt รผhte nullvรตtit ja mis tahes arvu nullvรครคrtusi. Teise nullvรตtme lisamine lihtsalt kirjutab olemasoleva nullvรตtmega seotud vรครคrtuse รผle.

Ei. HashMap ei garanteeri vรตtmete jรคrjekorda. Kui vajate sisestamise jรคrjekorda, kasutage LinkedHashMap'i ja kui soovite vรตtmete jรคrgi sorteeritud jรคrjestust, kasutage hoopis TreeMap'i.

Tehisintellekt saab analรผรผsida juurdepรครคsumustreid, nagu otsingud, jรคrjestamine ja samaaegsuse vajadused, ning seejรคrel soovitada HashMap, TreeMap, LinkedHashMap vรตi ConcurrentHashMap.ping Arendajad valivad oma kasutusjuhtumi jaoks kรตige tรตhusama kollektsiooni.

Jah. Tehisintellekti abil teostatav analรผรผs suudab mรคrgistada jagatud rรคsikaardi, millele pรครคseb juurde mitu lรตime ilma sรผnkroniseerimiseta, ning soovitada vรตidujooksu tingimuste ja andmete rikkumise vรคltimiseks ConcurrentHashMapi vรตi vรคlist lukustamist.

Vรตta see postitus kokku jรคrgmiselt: