Kuinka toteuttaa Java-käyttöliittymä?

Tämä artikkeli Java Map Intefacesta auttaa sinua ymmärtämään, miten Map toimii Java-ohjelmassa, ja tutustuttaa sinut eri luokkiin, jotka toteuttavat Map Interface -sovelluksen

Yksi mielenkiintoisimmista aiheista Javassa on Map-käyttöliittymä, jokaedustaa avaimen ja arvon välistä kartoitusta.Usein ymmärretään väärin olla alatyyppi Java-käyttöliittymä.Tämä Java Map Interface -artikkeli auttaa sinua ymmärtämään ja hallitsemaan kartan toimintaa .

selitä mvc-arkkitehtuuri jaavassa esimerkillä

Alla on lueteltu tämän artikkelin aiheet:





Java Map Interface

Java-kartta on esine joka yhdistää avaimet arvoihin ja on suunniteltu nopeampia hakuja varten. Tiedot tallennetaan avainarvopareihin ja jokainen avain on ainutlaatuinen. Jokainen avain kartoittaa arvon, joten nimikartta. Näitä avainarvopareja kutsutaan karttamerkinnöiksi.

Kartat Java - Java Map Interface - Edureka



vuonna , java.util.Kartta on joka sisältää menetelmän allekirjoitukset avainten perusteella tehtävien elementtien lisäämiseksi, poistamiseksi ja hakemiseksi. Tällaisilla menetelmillä se on täydellinen työkalu avainarvojen yhdistämisen kartoittamiseen, kuten sanakirjat.

Karttaliittymän ominaisuudet

  • Map-käyttöliittymä ei ole todellinen Collection-käyttöliittymän alatyyppi, jotensen ominaisuudet ja käyttäytyminen poikkeavat muista kokoelmatyypeistä.
  • Se tarjoaakolme kokoelmanäkymää - joukko avaimia, joukko avainarvojen yhdistelmiä ja arvojen kokoelma.
  • TOKarttaei voi sisältää päällekkäisiä avaimia, ja kukin avain voi yhdistää enintään yhteen arvoon. Jotkut toteutukset sallivat nolla-avaimen ja nolla-arvon ( HashMap ja LinkedHashMap ) mutta jotkut eivät ( TreeMap).
  • Map-käyttöliittymä ei takaa kartoitusten järjestystä, mutta se riippuu toteutuksesta. Esimerkiksi, HashMap ei takaa kartoitusten järjestystä, mutta PuuKartta tekee.
  • AbstractMap-luokka tarjoaa Java Map -käyttöliittymän ja suurimman osan Map-betonista luokat laajenna AbstractMap-luokkaa ja toteuta vaaditut menetelmät.

Nyt kun sinulla on käsitys Map-käyttöliittymästä on, mennään eteenpäin ja tarkistetaan Java Mapin hierarkia.

Java-kartan hierarkia

On kaksi käyttöliittymää, jotka toteuttavat Mapin Java-tilassa: Map ja LajiteltuKartta. Ja suositut Mapin Java-toteutusluokat ovat HashMap, TreeMap ja LinkedHashMap. Java Mapin hierarkia on annettu alla:



Ennen kuin tutustumme kolmeen edellä mainittuun Java Map Interface -sovelluksen toteutusluokkaan, tässä on joitain yleisiä menetelmiä, joita voit kohdata työskennellessäsi kartan kanssa.

Menetelmät Java Map Interface -sovelluksessa

Menetelmät

Kuvaus

julkinen put (Object key, Object value)Tämä menetelmä lisää merkinnän karttaan
julkinenvoid putAll (Kartta kartta)Tämä menetelmä lisää määritetyn kartan tähän karttaan
public Object remove (Object key)Sitä käytetään poistamaan määritetyn avaimen merkintä
public Set keySet ()Se palauttaa Set-näkymän, joka sisältää kaikki näppäimet
public Set entrySet ()Se palauttaa Set-näkymän, joka sisältää kaikki näppäimet ja arvot
mitätön selvä ()Sitä käytetään kartan nollaamiseen
public void putIfAbsent (K-avain, V-arvo)Se lisää määritetyn arvon määritetyllä avaimella karttaan vain, jos sitä ei ole jo määritetty
public Object get (Object key)Se palauttaa määritetyn avaimen arvon
julkinen looginen sisältöKey (Object key)
Sitä käytetään etsimään määritettyä avainta tältä kartalta

Kartan toteutukset

On useita jotka toteuttavat Java-kartanmutta kolme suurta ja yleiskäyttöistä toteutusta ovatHashMap, TreeMap ja LinkedHashMap.Katsotaanpa kunkin toteutuksen ominaisuudet ja käyttäytyminen esimerkin avulla

HashMap-luokka

Yleisin Java Map -käyttöliittymän toteuttava luokka on HashMap. Se on hajautustaulukkoihin perustuva Map-käyttöliittymän toteutus.Se toteuttaa kaikki karttatoiminnotja sallii nolla-arvot ja yhden nolla-avaimen. Tämä luokka ei myöskään yllä mitään järjestystä elementtiensä välillä. Tässä on esimerkki ohjelmasta, joka osoittaa HashMap-luokan.

paketti MyPackage import java.util. * luokka HashMapExample {public static void main (String [] args) {Karttakurssit = new HashMap () // Lisää kursseja. courses.put ('Java-kurssit', uusi kokonaisluku (6)) kurssit.put ('Cloud Courses', uudet kokonaisluku (7)) -kurssit.put ('Ohjelmointikurssit', uudet kokonaisluku (5)) -kurssit.put (' Tietojenkäsittelykurssit ', uusi kokonaisluku (2)) System.out.println (' Kursseja yhteensä: '+ kursseja.koko ()) Asetast = courses.entrySet () (Map.Entry me: st) {System.out.print (me.getKey () + ':') System.out.println (me.getValue ())} System.out. println () Merkkijono searchKey = 'Java-kurssit' if (courses.containsKey (searchKey)) System.out.println ('Löydetty yhteensä' + kurssit.get (searchKey) + '' + searchKey)}}

Tuotos

Kursseja yhteensä: 4 Pilvikurssit: 7 Ohjelmointikurssit: 5 Tietojenkäsittelykurssit: 2 Java-kurssit: 6 Löytyi yhteensä 6 Java-kurssia

Edellä olevassa ohjelmassa olen käyttänyt monia menetelmiä, jotka mainitaan taulukossa. Ensinnäkin laittaa() method lisää 4 merkintää karttaan ja koko() menetelmä seuraavassa vaiheessa näyttää kartan koon (avainarvoparit yhteensä). Sen jälkeen seuraavassa vaiheessa entrySet () method palauttaa kaikki avainarvoparit. Ohjelma näyttää myös kuinka hyödyntää saada() menetelmä arvon etsimiseen siihen liittyvällä avaimella.

Siirrytään seuraavaan luokkaan, joka toteuttaa Java Map Interface - TreeMap.

TreeMap-luokka

Tämä toteutus käyttää puna-mustaa puuta taustana tietorakenne . TreeMap on lajiteltu avainten luonnollisen järjestyksen mukaan tai luomisajankohtana toimitetun vertailijan mukaan. Tämä toteutus ei salli nollia, mutta ylläpitääjärjestys sen elementeissä. Tässä on esimerkkiohjelmasta, joka esittelee TreeMap-luokan.

paketti MyPackage import java.util. * luokka TreeMapEx {public static void main (String [] args) {Karttakurssit = new TreeMap () // Lisää kursseja. courses.put ('Java-kurssit', uusi kokonaisluku (3)) kurssit.put ('AWS-kurssit, uudet kokonaisluku (7)) -kurssit. lähtö (' Ohjelmointikurssit ', uudet kokonaisluku (8)) -kurssit.put (' Tietojenkäsittelykurssit ', uusi kokonaisluku (2)) System.out.println (' Kursseja yhteensä: '+ kursseja.koko ()) Asetast = courses.entrySet () (Map.Entry me: st) {System.out.print (me.getKey () + ':') System.out.println (me.getValue ())} System.out. println ()}}

Tuotos

Kursseja yhteensä: 4 AWS-kurssia: 7 datatieteen kurssia: 2 Java-kurssia: 3 ohjelmointikurssia: 8

Lähdössä kartan elementit tulostetaan tiukassa leksikografisessa järjestyksessä, mikä ei näy aikaisemmissa HashMap-esimerkeissä. Seuraava luokka, josta aiomme keskustella, ovat LinkedHashMap .

LinkedHashMap-luokka

Kuten nimi osoittaa, tämä Java Map -käyttöliittymän toteutus käyttää hash-taulukkoa ja linkitettyä luetteloa taustalla olevina tietorakenteina. LinkedHashMapin järjestys on siisennustettavissa, oletusjärjestyksessä lisäysjärjestys. Sallii myös nollat ​​kuten HashMapissa. Tässä on esimerkkiohjelmasta, joka esittelee TreeMap-luokan.

paketti MyPackage import java.util. * public class LinkedHashMapExample {public static void main (String a []) {LinkedHashMap courses = new LinkedHashMap () courses.put ('Java Courses', new Integer (3)) courses.put (' Pilvikurssit ', uusi kokonaisluku (7)) kurssit. Tulo (' Ohjelmointikurssit ', uusi kokonaisluku (8)) kurssit. Tulo (' Tietotieteen kurssit, uusi kokonaisluku (2)) // Se tulostaa elementit samassa järjestyksessä // kun ne lisättiin System.out.println (kurssit) System.out.println ('Kursseja yhteensä:' + courses.size ()) System.out.println ('Sisältää avaimen' Hadoop '?' + kurssit.containsKey ('Hadoop')) System.out.println ('Arvon saaminen avainohjelmointikursseille:' + courses.get ('Ohjelmointikurssit')) System.out.println ('Onko kartta tyhjä?' + Kurssit.isEmpty ()) System.out.println ('poista elementti' Pilvikurssit ':' + courses.remove ('Pilvikurssit')) System.out.println (kurssit)}}

Tuotos

{Java-kurssit = 3, pilvikurssit = 7, ohjelmointikurssit = 8, datatieteen kurssit = 2} Kursseja yhteensä: 4 Sisältää avaimen 'Hadoop'? väärä Arvon saaminen avainohjelmointikursseille: 8 Onko kartta tyhjä? väärä elementti 'Pilvikurssit': 7 {Java-kurssit = 3, ohjelmointikurssit = 8, datatieteen kurssit = 2}

Esimerkkiohjelma on melko yksinkertainen ymmärtää. Olen käyttänyt joitain perusmenetelmiä osoittaaksesi LinkeHashMapin toiminnan Javassa. Kuten sanoin aiemmin, näiden kolmen lisäksi on paljon muita luokkia, jotka toteuttavat Java Map -käyttöliittymän.

Tämä tuo meidät tämän 'Java Map Interface' -artikkelin loppuun. Olen käsitellyt yhtä mielenkiintoisista Java-aiheista, joka on Java-käyttöliittymä.

Varmista, että harjoittelet mahdollisimman paljon ja palauta kokemuksesi.

Katso Edureka, luotettava verkko-oppimisyritys, jolla on yli 250 000 tyytyväisen oppijan verkosto, joka levisi ympäri maailmaa. Olemme täällä auttaaksemme sinua matkasi jokaisessa vaiheessa, jotta tulemme tämän java-haastattelukysymyksen lisäksi, keksimme opetussuunnitelman, joka on tarkoitettu opiskelijoille ja ammattilaisille, jotka haluavat olla Java-kehittäjiä.

Onko sinulla kysymys meille? Mainitse se tämän java Map -käyttöliittymän kommenttiosassa artikkeli ja palaamme sinuun mahdollisimman pian.