Java HashMap - Vide, hvordan du implementerer HashMap i Java



Denne artikel om Java HashMap giver dig en HashMap-klasse i Java, som er en del af Java's samling siden Java 1.2. Det giver den grundlæggende implementering af Map-grænsefladen i Java.

HashMap er en kortbaseret samlingsklasse i Java, der brugesat gemme data i nøgle- og værdipar. Det hjælper også med at implementere Map-grænsefladen i Java. Gennem mediet i denne artikel vil jeg fortælle dig, hvordan du implementerer HashMap.

dyb kloning og lav kloning i java

Nedenstående emner er dækket af denne artikel:





Hvad er en Java HashMap?

HashMap er dybest set en del af siden Java 1.2. Det giver den grundlæggende implementering af kortet interface i Java . Det gemmer generelt dataene parvis i form af (Key, Value). For at få adgang til en værdi inden for HashMap skal man kende dens nøgle.

Nøgleværdipar - Java HashMap - EdurekaDet er navngivet som HashMap, fordi det bruger en teknik kaldet Hashing. Hashing er en proces til konvertering af en større streng til en mindre ved at holde værdien af som konstant. Den resulterende komprimerede værdi hjælper med indeksering og hurtigere søgninger.



Lad os nu kende de forskellige funktioner i HashMap i Java.

Funktioner i HashMap

  • Hash Map er en del af en util pakke i Java .

  • HashMap udvider en abstrakt klasse AbstractMap, som også giver en ufuldstændig implementering af kortgrænsefladen.



  • Det implementerer også Cloneable og Serialiserbar K og V i ovenstående definition repræsenterer henholdsvis nøgle og værdi.

  • HashMap tillader ikke duplikatnøgler, men tillader duplikatværdier. Det betyder, at en enkelt nøgle ikke kan indeholde mere end 1 værdi, men mere end 1 nøgle kan indeholde en enkelt værdi.

  • HashMap tillader kun nul-nøgle, men flere nulværdier kan bruges.

  • Denne klasse giver ingen garantier med hensyn til kortets rækkefølge, det garanterer ikke, at ordren forbliver konstant over tid. Det svarer stort set til Hash Table, men er usynkroniseret.

Nu hvor du ved, hvad der er Hashmap og dets forskellige funktioner, lad os gå videre og forstå ydeevnen for Java Hashmap.

Udførelse af Java HashMap

Ydelse afhænger primært af 2 parametre:

  1. Indledende kapacitet : Kapacitet er simpelthen antallet af skovle, mens Indledende kapacitet er kapaciteten i HashMap-instansen, når den oprettes.
  2. Belastningsfaktor: Det Belastningsfaktor er en foranstaltning, som når genopvaskning skal udføres. Genopvaskning er en proces, der øger kapaciteten. I HashMap multipliceres kapacitet med 2. Load Factor er også et mål for at bestemme, hvilken brøkdel af HashMap, der er tilladt at udfylde inden genvaskning. Når antallet af poster i HashMap øges, øges også produktet af den aktuelle kapacitet og Load Factor-kapacitet. Det betyder, at genvaskning er færdig.

Bemærk :Hvis den oprindelige kapacitet holdes højere, vil genopvaskning aldrig ske. Men ved at holde det højere øger det iterationens tidskompleksitet. Så det skal vælges meget klogt for at øge ydeevnen. Det forventede antal værdier bør tages i betragtning for at indstille startkapacitet. Den mest generelt foretrukne belastningsfaktorværdi er 0,75, hvilket giver en god del mellem tids- og pladsomkostninger. Belastningsfaktorens værdi varierer mellem 0 og 1.

Konstruktører i HashMap

HashMap giver fire konstruktører og adgangsredigering af hver af dem er offentlige:

Konstruktører Beskrivelse
1. HashMap () Det er standardkonstruktøren, der opretter en forekomst af HashMap med startkapacitet 16 og belastningsfaktor 0,75.
2. HashMap (int initial kapacitet) Dette bruges til at oprette en HashMap-forekomst med specificeret startkapacitet og belastningsfaktor 0,75
3. HashMap (int initial kapacitet, float load factor) Det opretter en HashMap-forekomst med specificeret startkapacitet og specificeret belastningsfaktor.
4. HashMap (kortkort) Det opretter en forekomst af HashMap med de samme tilknytninger som et specificeret kort.

Lad os nu se, hvordan vi implementerer HashMap i Java .

HashMap-implementering

Nedenstående program illustrerer, hvordan man implementerer HashMap i Java.

pakke Edureka // Java-program for at illustrere //Java.util.HashMap import java.util.HashMap import java.util.Map public class Hashmap {public static void main (String [] args) {HashMa map = new HashMap () print (kort) map.put ('abc', 10) map.put ('mno', 30) map.put ('xyz', 20) System.out.println ('Mapstørrelse er' + map.størrelse ( )) print (map) if (map.containsKey ('mno')) {Integer a = map.get ('mno') System.out.println ('værdi for nøgle ' mno  'er: -' + a )} map.clear () print (map)} public static void print (Map map) {if (map.isEmpty ()) {System.out.println ('map is blank')} ellers {System.out.println (kort) } } }

Ved udførelse af HashMap-programmet går output sådan:

kort er tom Kortstørrelse er: - 3 {abc = 10, xyz = 20, mno = 30} værdi for nøgle 'abc' er: - 10 kort er tom

Så dette bringer os til slutningen af HashMap-artikel. Jeg håber, du fandt det informativt og hjalp dig med at forstå de grundlæggende.

Tjek af Edureka, et pålideligt online læringsfirma med et netværk på mere end 250.000 tilfredse elever spredt over hele kloden. Vi er her for at hjælpe dig med hvert trin på din rejse, for at blive et ud over dette java-interviewspørgsmål, kommer vi med en læseplan, der er designet til studerende og fagfolk, der ønsker at være Java-udvikler. Kurset er designet til at give dig et forspring i Java-programmering og træne dig til både kerne- og avancerede Java-koncepter sammen med forskellige Java-rammer som Hibernate & Spring.

Har du et spørgsmål til os? Nævn det i kommentarfeltet i dette “Java HashMap ”Artikel og vi vender tilbage til dig hurtigst muligt.