HashMap er en kartbasert samlingsklasse i Java som brukesfor å lagre data i nøkkel- og verdipar. Det hjelper også med å implementere Map-grensesnittet i Java. Gjennom mediet i denne artikkelen vil jeg fortelle deg hvordan du skal implementere HashMap.
Følgende emner er dekket i denne artikkelen:
forskjell mellom overbelastning og overstyring i c ++
- Hva er en Java Hashmap?
- Funksjoner av Hashmap
- Ytelse av Java HashMap
- Konstruktører av HashMap i Java
- HashMap-implementering
Hva er en Java HashMap?
HashMap er i utgangspunktet en del av siden Java 1.2. Det gir den grunnleggende implementeringen av kartet grensesnitt i Java . Den lagrer vanligvis dataene parvis i form av (Key, Value). For å få tilgang til en verdi i HashMap må man kjenne nøkkelen.
Den heter HashMap fordi den bruker en teknikk som heter Hashing. Hashing er en prosess for å konvertere en større streng til en mindre ved å beholde verdien på som konstant. Den resulterende komprimerte verdien hjelper til med å indeksere og raskere søk.
La oss nå kjenne til de forskjellige funksjonene i HashMap i Java.
Funksjoner av HashMap
Hash Map er en del av en util pakke i Java .
HashMap utvider en abstrakt klasse AbstractMap som også gir en ufullstendig implementering av Map-grensesnittet.
Den implementerer også Cloneable og Serialiserbar K og V i definisjonen ovenfor representerer henholdsvis nøkkel og verdi.
HashMap tillater ikke dupliserte nøkler, men tillater dupliserte verdier. Det betyr at en enkelt nøkkel ikke kan inneholde mer enn 1 verdi, men mer enn 1 nøkkel kan inneholde en enkelt verdi.
HashMap tillater bare nullnøkkel, men flere nullverdier kan brukes.
Denne klassen gir ingen garantier for rekkefølgen på kartet spesielt, det garanterer ikke at bestillingen vil forbli konstant over tid. Det ligner omtrent på Hash Table, men er usynkronisert.
Nå som du vet hva som er Hashmap og dens forskjellige funksjoner, la oss gå videre og forstå ytelsen til Java Hashmap.
Ytelse av Java HashMap
Ytelsen avhenger hovedsakelig av to parametere:
- Startkapasitet : Kapasitet er ganske enkelt antall bøtter mens Startkapasitet er kapasiteten til HashMap-forekomsten når den opprettes.
- Lastfaktor: De Lastfaktor er et tiltak som når gjenvasking skal gjøres. Rehashing er en prosess for å øke kapasiteten. I HashMap multipliseres kapasiteten med 2. Load Factor er også et mål for å bestemme hvilken brøkdel av HashMap som er tillatt å fylle før rehashing. Når antall oppføringer i HashMap øker, øker også produktet av nåværende kapasitet og Load Factor-kapasitet. Det innebærer at gjenvasking er gjort.
Merk :Hvis den opprinnelige kapasiteten holdes høyere, vil ettervaskingen aldri bli gjort. Men ved å holde det høyere øker det iterasjonens tidskompleksitet. Så det bør velges veldig smart for å øke ytelsen. Det forventede antall verdier bør tas i betraktning for å angi startkapasitet. Den mest foretrukne belastningsfaktorverdien er 0,75, noe som gir en god pris mellom tid og romkostnader. Belastningsfaktorens verdi varierer mellom 0 og 1.
hva er aggregering i java
Konstruktører i HashMap
HashMap gir fire konstruktører og tilgangsredigering av hver av dem er offentlige:
Konstruktører | Beskrivelse |
1. HashMap () | Det er standardkonstruktøren som lager en forekomst av HashMap med startkapasitet 16 og belastningsfaktor 0,75. |
2. HashMap (innledende kapasitet) | Dette brukes til å lage en HashMap-forekomst med spesifisert startkapasitet og belastningsfaktor 0,75 |
3. HashMap (innledende kapasitet, flytbelastningsfaktor) | Det oppretter en HashMap-forekomst med spesifisert startkapasitet og spesifisert belastningsfaktor. |
4. HashMap (Kartkart) | Det oppretter en forekomst av HashMap med de samme tilordningene som et spesifisert kart. |
La oss nå se hvordan du implementerer HashMap i Java .
HashMap-implementering
Programmet nedenfor illustrerer hvordan du implementerer HashMap i Java.
hva er marionett i devops
pakke Edureka // Java-program for å illustrere //Java.util.HashMap import java.util.HashMap import java.util.Map offentlig klasse Hashmap {offentlig statisk tomrom hoved (String [] args) {HashMa map = new HashMap () print (kart) 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 ('verdi for nøkkel ' mno 'er: -' + a )} map.clear () print (map)} public static void print (Map map) {if (map.isEmpty ()) {System.out.println ('map is blank')} else {System.out.println (kart)}}}
Når du kjører HashMap-programmet, går produksjonen slik:
kartet er tomt Kartstørrelsen er: - 3 {abc = 10, xyz = 20, mno = 30} verdien for nøkkelen 'abc' er: - 10 kartet er tomt
Så dette fører oss til slutten av HashMap-artikkel. Jeg håper du syntes det var informativt og hjalp deg med å forstå det grunnleggende.
Sjekk ut av Edureka, et pålitelig online læringsfirma med et nettverk av mer enn 250 000 fornøyde elever spredt over hele verden. Vi er her for å hjelpe deg med hvert trinn på reisen, for å bli en foruten dette java-intervjuspørsmålene, kommer vi med en læreplan som er designet for studenter og fagpersoner som ønsker å være Java-utvikler. Kurset er designet for å gi deg et forsprang i Java-programmering og trene deg for både kjerne- og avanserte Java-konsepter sammen med forskjellige Java-rammer som Hibernate & Spring.
Har du et spørsmål til oss? Vennligst nevn det i kommentarfeltet til dette “Java HashMap ”Artikkel og vi kommer tilbake til deg så snart som mulig.