HashMap inn Java

โšก Smart oppsummering

HashMap inn Java lagrer data som unike nรธkkelverdipar som raskt kan hentes frem ved hjelp av nรธkkelen. Den inneholder objektreferanser i stedet for primitiver, sรฅ wrapper-klasser brukes, og tilbyr metoder som put, get, remove og containsKey.

  • ๐Ÿ—๏ธ HashMap definert: Lagrer unike nรธkler tilordnet verdier for rask henting etter nรธkkel.
  • ๐Ÿ“ฆ Objektreferanser: Holder bare objekter, sรฅ bruk wrapper-klasser som Integer i stedet for primitiver.
  • ๐Ÿ”ง Kjernemetoder: put() lagrer et par, get() henter en verdi, remove() sletter med nรธkkel.
  • ๐Ÿ” Oppslag: containsKey(), keySet(), values() og isEmpty() inspiserer kartets innhold.
  • ๐Ÿงช Eksempler: Eksempelprogrammer bygger et kart, skriver det ut og fjerner en oppfรธring med nรธkkel.

HashMap inn Java

Hva er Hashmap i Java?

Et HashMap angir i utgangspunktet unike nรธkler til tilsvarende verdier som kan hentes nรฅr som helst.

HashMap inn Java

Funksjoner av Java Hashmap

a) Den verdier kan lagres i et kart ved รฅ danne en nรธkkelverdi par. Verdien kan hentes ved hjelp av nรธkkelen ved รฅ sende den til riktig metode.

b) Hvis ikke noe element finnes i kartet, vil det kaste en 'NoSuchElementException'.

c) Kun HashMap-butikker objektreferanser. Derfor er den umulig รฅ bruke primitive datatyper som dobbel eller int. Bruk wrapper-klasse (som heltall eller Double) i stedet.

Funksjoner av Java Hashmap

Bruke HashMaps i Java programmer:

Fรธlgende er de to mรฅtene รฅ erklรฆre et Hash-kart pรฅ:

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

Viktige hashmap-metoder

  • fรฅ (Objekt Nร˜KKEL) โ€“ Dette vil returnere verdien knyttet til en spesifisert nรธkkel i denne Java hashmap.
  • put(Object KEY, String VALUE) โ€“ Denne metoden lagrer den angitte verdien og knytter den til den angitte nรธkkelen i dette kartet.

Java Eksempel pรฅ hashmap

Fรธlgende er et eksempel pรฅ implementering av 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);
  }
}

Utgang:

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

Eksempel: Fjern en verdi fra HashMap basert pรฅ nรธkkel

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

Utgang:

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}

La oss stille noen spรธrsmรฅl til selve Hash-kartet for รฅ vite det bedre

Spรธrsmรฅl: Sรฅ Mr.Hash Map, hvordan kan jeg finne ut om en bestemt nรธkkel har blitt tildelt deg?

A: Kult, du kan bruke containsKey(Object KEY)-metoden med meg, den vil returnere en boolsk verdi hvis jeg har en verdi for den gitte nรธkkelen.

Spรธrsmรฅl: Hvordan finner jeg alle de tilgjengelige nรธklene som finnes pรฅ kartet?

A: Jeg har en metode som heter som nรธkkelsett() som vil returnere alle nรธklene pรฅ kartet. I eksemplet ovenfor, hvis du skriver en linje som โ€“
System.out.println(objMap.keySet());

Det vil returnere en produksjon som-
[Navn, Type, Strรธm, Pris]

Pรฅ samme mรฅte, hvis du bare trenger alle verdiene, har jeg en metode for verdier๐Ÿ‡ง๐Ÿ‡ท
System.out.println(objMap.values());

Det vil returnere en produksjon som-
[Suzuki, 2-hjuling, 220, 85000]

Spรธrsmรฅl: Anta at jeg bare trenger รฅ fjerne en bestemt nรธkkel fra kartet, mรฅ jeg slette hele kartet?

A: Nei kompis!! Jeg har en metode for fjerne(Object KEY) som vil fjerne bare det bestemte nรธkkelverdi-paret.

Spรธrsmรฅl: Hvordan kan vi sjekke om du faktisk inneholder noen nรธkkelverdi-par?

A: Bare sjekk om jeg er tom eller ikke!! Kort sagt, bruk er tom() metode mot meg..

Spรธrsmรฅl og svar

HashMap er ikke-synkronisert og tillater รฉn nullnรธkkel og flere nullverdier, noe som gjรธr den raskere for enkelttrรฅdsbruk. Hashtable er synkronisert og tillater ikke nullnรธkler eller -verdier, noe som gjรธr den trรฅdsikker, men tregere.

Ja. En HashMap tillater nรธyaktig รฉn nullnรธkkel og et hvilket som helst antall nullverdier. Forsรธk pรฅ รฅ legge til en ny nullnรธkkel overskriver ganske enkelt verdien som er knyttet til den eksisterende nullnรธkkelen.

Nei. HashMap garanterer ikke noen rekkefรธlge pรฅ nรธklene sine. Hvis du trenger innsettingsrekkefรธlge, bruk LinkedHashMap, og hvis du trenger sortert rekkefรธlge etter nรธkkel, bruk TreeMap i stedet.

AI kan analysere tilgangsmรธnstre som oppslag, rekkefรธlge og samtidighetsbehov, og deretter anbefale HashMap, TreeMap, LinkedHashMap eller ConcurrentHashMap.ping utviklere velger den mest effektive samlingen for sitt bruksomrรฅde.

Ja. AI-assistert analyse kan flagge en delt HashMap som er tilgjengelig via flere trรฅder uten synkronisering, og anbefale ConcurrentHashMap eller ekstern lรฅsing for รฅ forhindre kapplรธpsforhold og datakorrupsjon.

Oppsummer dette innlegget med: