Kako implementirati vmesnik zemljevida v Javi?



Ta članek o Java Map Inteface vam bo pomagal razumeti, kako Map deluje v Javi, in vam predstavil različne razrede, ki izvajajo Map Interface

Ena najbolj zanimivih tem v Javi je vmesnik Map, kipredstavlja preslikavo med ključem in vrednostjo.Pogosto je napačno razumljeno kot podtip vmesnik v Javi.Ta članek o vmesniku Java Map vam bo pomagal razumeti in obvladati delovanje zemljevida .

Spodaj so navedene teme v tem članku:





Zemljevid Java vmesnik

Zemljevid v Javi je predmet ki preslika ključe v vrednosti in je zasnovan za hitrejše iskanje. Podatki so shranjeni v parih ključ-vrednost in vsak ključ je unikaten. Vsak ključ preslika na vrednost, od tod tudi ime zemljevid. Ti pari ključ / vrednost se imenujejo vnosi na zemljevidu.

Zemljevidi v Javi - Java Map Interface - Edureka



končno končno in dokončanje v javi

V , java.util.Map je ki vključuje podpise metod za vstavljanje, odstranjevanje in iskanje elementov na podlagi ključa. S takimi metodami je odlično orodje za preslikavo povezav ključ-vrednost, kot so slovarji.

Značilnosti vmesnika zemljevida

  • Vmesnik Map ni resnična podvrsta vmesnika Collection, zato,njene značilnosti in vedenje se razlikujejo od ostalih vrst zbiranja.
  • Zagotavljatrije pogledi zbirke - nabor ključev, nabor preslikav ključ-vrednost in zbiranje vrednosti.
  • TOZemljevidne more vsebovati podvojenih ključev in vsak ključ lahko preslika največ eno vrednost. Nekatere izvedbe omogočajo ničelni ključ in ničelno vrednost ( HashMap in LinkedHashMap ) nekateri pa ne ( TreeMap).
  • Vmesnik Map ne zagotavlja vrstnega reda preslikav, vendar je odvisno od izvedbe. Na primer, HashMap ne zagotavlja vrstnega reda preslikav, vendar TreeMap naredi.
  • Razred AbstractMap ponuja skeletno izvedbo vmesnika Java Map in večino konkretnih map razredih razširiti razred AbstractMap in uporabiti zahtevane metode.

Zdaj, ko imate idejo o tem, v čem je vmesnik Map je, pojdimo naprej in preverimo hierarhijo Java Map.

Java hierarhija zemljevidov

Obstajata dva vmesnika, ki izvajata Map v javi: Map in SortedMap. In priljubljeni izvedbeni razredi Map v Javi so HashMap, TreeMap , in LinkedHashMap. Hierarhija Java Map je podana spodaj:



Preden preverimo zgoraj omenjene tri izvedbene razrede vmesnika Java Map, je tu nekaj pogostih metod, s katerimi se lahko srečate pri delu z zemljevidom.

Metode v vmesniku Java Map

Metode

Opis

javni pot (ključ predmeta, vrednost predmeta)Ta metoda vstavi vnos na zemljevid
javnostivoid putAll (zemljevid zemljevida)Ta metoda vstavi navedeni zemljevid v ta zemljevid
javni objekt odstrani (ključ predmeta)Uporablja se za brisanje vnosa za navedeni ključ
javni Set keySet ()Vrne pogled Set, ki vsebuje vse tipke
javni Set entrySet ()Vrne pogled Set, ki vsebuje vse ključe in vrednosti
prazno jasno ()Uporablja se za ponastavitev zemljevida
public void putIfAbsent (ključ K, vrednost V)Na zemljevid vstavi določeno vrednost z navedenim ključem le, če še ni določena
javni Object get (ključ predmeta)Vrne vrednost za navedeni ključ
javna logična vrednost vsebujeKey (ključ objekta)
Uporablja se za iskanje po določenem ključu s tega zemljevida

Izvedbe zemljevida

Obstaja več ki izvajajo Java Mapvendar so tri glavne in splošno uporabne izvedbeHashMap, TreeMap in LinkedHashMap.Poglejmo značilnosti in vedenja vsake izvedbe s primerom

Razred HashMap

Najpogostejši razred, ki izvaja vmesnik Java Map, je HashMap. Je izvedba vmesnika Map, ki temelji na razpršeni tabeli.Izvaja vse operacije na zemljeviduin omogoča ničelne vrednosti in en ničelni ključ. Tudi ta razred med svojimi elementi ne vzdržuje nobenega reda. Tu je primer programa, ki prikazuje razred HashMap.

paket MyPackage import java.util. * class HashMapExample {public static void main (String [] args) {Map courses = new HashMap () // Dodajte nekaj tečajev. courses.put ('Tečaji Java', novo celo število (6)) courses.put ('Tečaji v oblaku', novo celoštevilo (7)) courses.put ('Tečaji programiranja', novo celoštevilo (5)) courses.put (' Tečaji znanosti o podatkih ', novo celo število (2)) System.out.println (' Skupaj tečajev: '+ courses.size ()) Setst = courses.entrySet () za (Map.Entry me: st) {System.out.print (me.getKey () + ':') System.out.println (me.getValue ())} System.out. println () String searchKey = 'Tečaji Java' if (courses.containsKey (searchKey)) System.out.println ('Najdeno skupno' + courses.get (searchKey) + '' + searchKey)}}

Izhod

Skupaj tečajev: 4 tečaji v oblaku: 7 tečaji programiranja: 5 tečaji znanosti o znanosti: 2 tečaji Java: 6 najdenih skupaj 6 tečaji Java

V zgornjem programu sem uporabil veliko metod, omenjenih v tabeli. Prvič, dal () metoda vstavi 4 vnose na zemljevid, in velikost () metoda v naslednjem koraku prikaže velikost zemljevida (skupni pari ključ / vrednost). Po tem v naslednjem koraku entrySet () metoda vrne vse pare ključ-vrednost. Program prikazuje tudi, kako izkoristiti dobili () za iskanje vrednosti z uporabo povezanega ključa.

Pojdimo na naslednji razred, ki izvaja Java Map Interface - TreeMap.

Razred TreeMap

Ta izvedba uporablja rdeče-črno drevo kot podlago podatkovna struktura . Drevesni zemljevid je razvrščen po naravnem vrstnem redu ključev ali po primerjalniku, ki ga dobite ob ustvarjanju. Ta izvedba ne dovoljuje ničelnih vrednosti, vendar ohranjavrstni red njegovih elementov. Tu je primer programa, ki prikazuje razred TreeMap.

paket MyPackage import java.util. * class TreeMapEx {public static void main (String [] args) {Map courses = new TreeMap () // Dodaj nekaj tečajev. courses.put ('Tečaji Java', novo celoštevilo (3)) courses.put ('Tečaji AWS', novo celoštevilo (7)) courses.put ('Tečaji programiranja', novo celoštevilo (8)) courses.put (' Tečaji znanosti o podatkih ', novo celo število (2)) System.out.println (' Skupaj tečajev: '+ courses.size ()) Setst = courses.entrySet () za (Map.Entry me: st) {System.out.print (me.getKey () + ':') System.out.println (me.getValue ())} System.out. println ()}}

Izhod

Skupaj tečajev: 4 tečaji AWS: 7 tečaji znanosti o znanosti: 2 tečaji Java: 3 tečaji programiranja: 8

V izhodu so elementi zemljevida natisnjeni v strogem leksikografskem vrstnem redu, kar ni prikazano v prejšnjih primerih HashMap. Naslednji razred, o katerem bomo razpravljali, je LinkedHashMap .

Razred LinkedHashMap

Kot že ime pove, ta izvedba vmesnika Java Map kot osnovno podatkovno strukturo uporablja razpršeno tabelo in povezan seznam. Tako je vrstni red LinkedHashMappredvidljiv, z vrstnim redom vstavljanja kot privzetim. Prav tako dovoljuje ničelne vrednosti, kot v HashMap. Tu je primer programa, ki prikazuje razred TreeMap.

paket MyPackage import java.util. * javni razred LinkedHashMapExample {public static void main (String a []) {LinkedHashMap courses = new LinkedHashMap () courses.put ('Java Courses', new Integer (3)) courses.put (' Cloud Courses ', novo celoštevilo (7)) courses.put (' Programiranje tečajev ', novo celoštevilo (8)) courses.put (' Tečaji znanosti znanosti ', novo celo število (2)) // Elemente natisne v istem vrstnem redu // kot so bili vstavljeni System.out.println (tečaji) System.out.println ('Skupaj tečajev:' + courses.size ()) System.out.println ('Vsebuje ključ' Hadoop '?' + courses.containsKey ('Hadoop')) System.out.println ('Pridobivanje vrednosti za ključ' Programiranje tečajev ':' + courses.get ('Programiranje tečajev')) System.out.println ('Je zemljevid prazen?' + Courses.isEmpty ()) System.out.println ('izbriši element' Tečaji v oblaku ':' + courses.remove ('Tečaji v oblaku')) System.out.println (tečaji)}}

Izhod

{Tečaji Java = 3, Tečaji v oblaku = 7, Tečaji programiranja = 8, Tečaji znanosti o znanosti = 2} Skupaj tečajev: 4 Vsebuje ključ 'Hadoop'? false Pridobivanje vrednosti za ključ 'Programiranje': 8 Ali je zemljevid prazen? false delete element 'Cloud Courses': 7 {Java Tečaji = 3, Programiranje = 8, Data Science Tečaji = 2}

Primer programa je dokaj preprost za razumevanje. Za prikaz delovanja LinkeHashMap v Javi sem uporabil nekaj osnovnih metod. Kot sem že rekel, poleg teh treh obstaja še veliko drugih razredov, ki izvajajo vmesnik Java Map.

S tem smo prišli do konca tega članka »Java Map Interface«. Obdelal sem eno zanimivih tem Java, to je vmesnik Map v Javi.

Poskrbite, da boste čim več vadili in si povrnili izkušnje.

Oglejte si Edureka, zaupanja vredno podjetje za spletno učenje z mrežo več kot 250.000 zadovoljnih učencev, ki se širijo po vsem svetu. Tu smo, da vam pomagamo pri vsakem koraku na poti, saj smo poleg tega vprašanja za java intervjuji pripravili učni načrt, ki je zasnovan za študente in strokovnjake, ki želijo biti razvijalec Java.

Imate vprašanje za nas? Prosimo, omenite ga v oddelku za komentarje tega 'vmesnika java Map' članek in se vam bomo javili v najkrajšem možnem času.