linkedhashmap java linkedhashmap example implementation
Ta vadnica pojasnjuje vse o LinkedHashMap v Javi, vključno s primeri in metodami LinkedHashMap, implementacijo v Javi, LinkedHashMap vs HashMap:
LinkedHashMap v Javi je izvedba, ki združuje izvedbo HashTable in LinkedList. Izvaja vmesnik Map. Parovi ključ / vrednost LinkedHashMap imajo predvidljiv vrstni red ponovitev.
LinkedHashMap poleg vmesnika Map razširja tudi razred HashMap.
=> Obiščite tukaj, da si ogledate serijo Java Training For All.
kakšna je faza izvedbe v sdlc?
Kaj se boste naučili:
LinkedHashMap v Javi
Nekatere glavne značilnosti LinkedHashMap so:
- Vsebuje vrednosti na podlagi ključa.
- Vzdržuje vrstni red vstavljanja parov ključ / vrednost.
- Ne dovoljuje dvojnikov, ima edinstvene elemente.
- Lahko ima en sam ničelni ključ. Vendar omogoča več ničelnih vrednosti.
- Java LinkedHashMap ni sinhroniziran.
Izjava o LinkedHashMap
Razred LinkedHashMap v Javi je del paketa java.util.
Splošna izjava tega razreda v Javi je naslednja:
public class LinkedHashMap extends HashMap implements Map
Tu je K => vrsta tipk na zemljevidu.
V => vrsta vrednosti, preslikane v ključe.
Hierarhija razredov LinkedHashMap je prikazana spodaj:
kako razvrstiti polje v javi -
Kot je prikazano na zgornjem diagramu, LinkedHashMap podeduje razred HashMap in AbstractMap ter izvaja vmesnik Map.
Primer LinkedHashMap
Spodaj je preprost primer.
import java.util.*; class Main{ public static void main(String args()){ //declare and initialize LinkedHashMap LinkedHashMap num_map=new LinkedHashMap(); num_map.put(1,'ONE'); num_map.put(2,'TWO'); num_map.put(3,'THREE'); num_map.put(4,'FOUR'); num_map.put(5,'FIVE'); System.out.println('The contents of LinkedHashMap:'); //retrieve the key-value pairs as set using entrySet & print each entry for(Map.Entry m:num_map.entrySet()){ System.out.println(m.getKey()+' '+m.getValue()); } } }
Izhod:
Vsebina LinkedHashMap:
1 ENO
2 DVA
3 TRI
4 ŠTIRI
5 PET
Konstruktorji in metode
Pogovorimo se o konstruktorjih in metodah, ki jih ponuja razred LinkedHashMap. Najprej bomo razpravljali o konstruktorjih, ki jim bodo sledile metode.
Konstruktorji
Prototip konstruktorja | Opis | |
---|---|---|
keySet | Nastavi keySet () | Vrne nabor tipk na zemljevidu. |
LinkedHashMap () | Privzeti konstruktor za LinkedHashMap. | |
LinkedHashMap (int zmogljivost) | Ustvari objekt LinkedHashMap z določeno zmogljivostjo. | |
LinkedHashMap (int zmogljivost, float loadFactor) | Ustvari objekt LinkedHashMap z dano kapaciteto in loadFactor. | |
LinkedHashMap (int zmogljivost, float loadFactor, logična accessOrder) | Ustvari objekt LinkedHashMap z dano zmogljivostjo in loadFactor. Določen je tudi način naročanja (accessOrder). | |
LinkedHashMap (zemljevid m) | Ustvari objekt LinkedHashMap in ga inicializira z vrednostmi iz zemljevida m, ki so podane kot argument. |
Metode
Metoda | Prototip metode | Opis |
---|---|---|
dobili | V get (tipka predmeta) | Vrne vrednost za dani ključ. |
jasno | prazno jasno () | Počisti vse pare ključ / vrednost na zemljevidu. |
vsebujeVrednost | boolean containsValue (vrednost predmeta) | Preveri, ali zemljevid vsebuje enega ali več ključev, preslikanih na dano vrednost. Vrne true, če da. |
entrySet | Nastavite | Vrne nabor vnosov na zemljevidu. |
za vsakogar | void forEach (BiConsumer action) | Izvede dano dejanje za vse vnose na zemljevidu. |
getOrDefault | V getOrDefault (Tipka predmeta, V defaultValue) | Vrne vrednost, preslikano v ključ. Če nobena vrednost ni preslikana, se vrne privzeta vrednost. |
removeEldestEntry | zaščitena logična vrednost removeEldestEntry (Map.Entry najstarejša) | Odstrani najstarejši vnos na zemljevidu in ob odstranitvi vrne true. |
replaceAll | void replaceAll (funkcija BiFunction) | Pri vsakem vnosu pokliče dano funkcijo in rezultat funkcije nadomesti z vrednostmi. |
vrednote | Vrednosti zbirke () | Vrne zbirko vrednosti na zemljevidu. |
Izvajanje v Javi
Spodnji program Java prikazuje izvajanje LinkedHashMap s prikazom zgoraj obravnavanih metod.
import java.util.*; public class Main { public static void main(String a()) { //declare LinkedHashMap and initialize it with values LinkedHashMap colors_map = new LinkedHashMap(); colors_map.put('one', 'Red'); colors_map.put('two', 'Green'); colors_map.put('three', 'Blue'); // Original LinkedHashMap System.out.println('Original LinkedHashMap:' + colors_map); //isEmpty () System.out.println('LinkedHashMap 'colors_map' empty?:' + colors_map.isEmpty()); //size () System.out.println('Size of the map: ' + colors_map.size()); //get () System.out.println('Value for key = 'one':' + colors_map.get('one')); //containsKey () System.out.println('colors_map contains key = 'two':'+ colors_map.containsKey('two')); //containsValue () System.out.println('colors_map contains value 'ree':' + colors_map.containsValue('ree')); //remove () System.out.println('delete element 'one': ' + colors_map.remove('one')); System.out.println('Updated colors_map:' + colors_map); } }
Izhod:
Prvotni LinkedHashMap: {ena = rdeča, dve = zelena, tri = modra}
LinkedHashMap 'colors_map' prazen?: False
Velikost zemljevida: 3
Vrednost za ključ = 'ena': rdeča
maps_map vsebuje key = 'two': true
maps_map vsebuje vrednost 'ree': false
izbriši element „ena“: rdeča
Posodobljena mapa_barv: {dve = zelena, tri = modra}
V tem programu razglasimo barvni zemljevid in ga inicializiramo. Nato za pridobitev rezultatov uporabimo različne zgoraj obravnavane metode.
LinkedHashMap vs HashMap
LinkedHashMap | HashMap | ||
---|---|---|---|
Časovna zapletenost osnovnih operacij | O (1) | O (1) | O (1) |
Izvaja urejene zemljevide. | Uporablja neurejene zemljevide. | ||
Uporablja dvojno povezan seznam vedrov. | Uporablja heš tabelo. | ||
Ohranja red pri ponavljanju elementov. | Ne vzdržuje vrstnega reda pri ponavljanju. | ||
Zahteva več pomnilnika. | Zahteva manj pomnilnika kot LinkedHashMap. | ||
Osnovne operacije, kot so dodajanje, odstranjevanje, iskanje itd., So počasnejše. | Osnovne operacije, kot so dodajanje in odstranjevanje iskanja, so hitrejše. |
HashMap Vs TreeMap Vs LinkedHashMap
Zdaj primerjajmo tri izvedbe zemljevidov, tj. HashMap, TreeMap in LinkedHashMap.
Naslednja tabela prikazuje primerjavo / razliko.
Primerjalni parameter | HashMap | LinkedHashMap | TreeMap |
---|---|---|---|
Vmesnik | Zemljevid | Zemljevid | Map, SortedMap, NavigableMap |
Struktura podatkov | Seznam vedrov | Dvojno povezan seznam vedrov | Rdeče-črno drevo |
Ukaz za ponovitev | Naročilo ni ohranjeno. | Razvrščeno po vrstnem redu vstavljanja | Razvrščeno glede na naravno urejenost elementov |
Null Keys | So dovoljeni | So dovoljeni | Ni dovoljeno |
Sinhronizacija | Ni sinhronizirano | Ni sinhronizirano | Ni sinhronizirano |
Zahteva po ključih | Treba je prepisati metodi equals () in hashCode () | Treba je prepisati metodi equals () in hashCode () | Ohrani se naravno urejenost ali pa je treba zagotoviti primerjalnik |
Pogosto zastavljena vprašanja
V # 1) Kaj je LinkedHashMap v Javi?
Odgovor: LinkedHashMap v Javi se izvaja kot kombinacija HashTable in LinkedList. Izvaja vmesnik zemljevida. Ima predvidljiv ponovitveni vrstni red. Za vnose interno uporablja dvojno povezan seznam.
Q # 2)Kako LinkedHashMap deluje v Javi?
Odgovor: Podoben je HashMap, vendar se od HashMap razlikuje po vrstnem redu vstavljanja, ki ga LinkedHashMap vzdržuje. Elementi v LinkedHashMap se shranijo na enak način, kot so vneseni v podatkovno strukturo.
Q # 3)Kako se vrnem skozi LinkedHashMap?
Odgovor: Skozi LinkedHashMap lahko preletimo s pomočjo iteratorja.
Sledijo koraki, ki jih lahko sledimo za ponovitev skozi LinkedHashMap z uporabo iteratorja:
- Ustvarite nov objekt LinkedHashMap.
- Uporabite metodo Put API za vstavljanje parov ključ / vrednost na zemljevid.
- Pokličite metodo API entrySet () za pridobitev nabora parov ključ-vrednost na zemljevidu.
- Prikličite iterator na tem naboru, da s pomočjo metod API API getKey () in getValue () pridobite vsak par ključ-vrednost.
Q # 4)Kakšna je uporaba LinkedHashMap v Javi?
Odgovor: Glavna uporaba LinkedHashMap v Javi je njegova uporaba za ohranjanje vrstnega reda vstavljanja. Uporablja se lahko tudi za ohranitev vrstnega reda dostopa, s katerim dostopate do tipk. Ker je hitrejši od HashMap-a, lahko LinkedHashMap uporabite namesto HashMap-a, kjer je zmogljivost ključnega pomena.
V # 5)Je HashMap hitrejši od LinkedHashMap?
Odgovor: Oba sta si podobna v zmogljivosti. HashMap potrebuje manj pomnilnika v primerjavi z LinkedHashMap, saj HashMap ne vzdržuje vrstnega reda dostopa. Tako je HashMap primerjalno hitrejši.
Zaključek
V tej vadnici smo obravnavali LinkedHashMap v Javi. Videli smo podrobnosti v zvezi z izjavo razreda, hierarhijo razredov, konstruktorji in metodami.
Spoznali smo tudi primarne razlike med LinkedHashMap in HashMap. Razpravljali smo tudi o 3-smerni razliki med LinkedHashMap, HashMap in TreeMap.
dodajanje elementa v matriko
V naši prihajajoči vadnici bomo raziskali več tem o Okviru za zbiranje Java.
=> Tukaj bodite pozorni na preprosto serijo Java Training Training.
Priporočeno branje
- Vadnica za refleksijo Java s primeri
- Vadnice za globinsko zasenčenje za začetnike
- Kaj je Java HashTable - Implementacija in primer HashTablea
- JAVA Vadnica za začetnike: 100+ praktičnih Javnih video vadnic
- Dostopni modifikatorji v Javi - Vadnica s primeri
- Java SWING Vadnica: Vsebnik, komponente in obdelava dogodkov
- Java String vsebuje () Vadnico metode s primeri
- Java String z vmesnikom String Buffer in String Builder