Kuidas Java-kaardi liidest rakendada?



See artikkel Java Map Inteface'is aitab teil mõista, kuidas Map Java töötab, ja tutvustab teid erinevatele klassidele, mis rakendavad Map Interface'i

Java üks huvitavamaid teemasid on Mapi liides, mistähistab võtme ja väärtuse kaardistamist.Sageli mõistetakse valesti selle alatüüpi liides Java-s.See Java Map Interface'i artikkel aitab teil mõista ja hallata, kuidas kaart töötab .

Allpool on loetletud selles artiklis käsitletud teemad:





Java kaardiliides

Java kaart on objekt mis kaardistab võtmed väärtustele ja on mõeldud kiiremaks otsimiseks. Andmeid hoitakse võtmeväärtuste paarides ja iga võti on ainulaadne. Iga võti kaardistab väärtuse, seega nimekaardi. Neid võtmeväärtuste paare nimetatakse kaardikirjeteks.

Kaardid Java-s - Java Map Interface - Edureka



Aastal , java.util.Kaart on an mis sisaldab võtme põhjal elementide sisestamise, eemaldamise ja otsimise meetodi allkirju. Selliste meetodite abil on see ideaalne tööriist, mida saab kasutada põhiväärtuste seostamise kaardistamiseks, näiteks sõnastikud.

Kaardiliidese omadused

  • Kaardi liides ei ole kogu liidese tõeline alamtüüp, seetõttuselle omadused ja käitumine erinevad ülejäänud kollektsiooni tüüpidest.
  • See pakubkolm kogu vaadet - võtmete komplekt, võtme-väärtuse vastenduste komplekt ja väärtuste kogu.
  • TOKaartei tohi sisaldada duplikaatvõtmeid ja iga võti saab kaardistada maksimaalselt ühe väärtusega. Mõni juurutamine lubab nullvõtit ja nullväärtust ( HashMap ja LinkedHashMap ) kuid mõned mitte ( TreeMap).
  • Kaardi liides ei taga vastendamise järjekorda, kuid see sõltub rakendusest. Näiteks, HashMap ei taga kaardistamise järjekorda, kuid Puu kaart teeb.
  • Klass AbstractMap pakub Java Mapi liidese ja suurema osa Map betooni skeleti rakendust klassides laienda AbstractMap klassi ja rakendab vajalikke meetodeid.

Nüüd, kui teil on idee Mapi liidese kohta on, lähme edasi ja kontrollime Java Mapi hierarhiat.

Java kaardi hierarhia

Jaavas on rakendatud kaarti kaks liidest: Map ja SorditudKaart. Ja Java Mapi populaarsed rakendusklassid on HashMap, TreeMap ja LinkedHashMap. Java Mapi hierarhia on toodud allpool:



Enne kui kontrollime Java Map Interface'i ülalnimetatud kolme rakendusklassi, on siin mõned levinumad meetodid, mida saate kaardiga töötades kohata.

Meetodid Java Map Interface'is

Meetodid

Kirjeldus

public put (objekti võti, objekti väärtus)See meetod sisestab kaardi sisestuse
avalikvoid putAll (kaardi kaart)See meetod lisab sellele kaardile määratud kaardi
avaliku objekti eemaldamine (objekti võti)Seda kasutatakse määratud võtme sisestuse kustutamiseks
public Set keySet ()See tagastab vaate Määra, mis sisaldab kõiki võtmeid
public Set entrySet () MääraSee tagastab vaate Määra, mis sisaldab kõiki võtmeid ja väärtusi
tühine selge ()Seda kasutatakse kaardi lähtestamiseks
public void putIfAbsent (K-võti, V-väärtus)See sisestab määratud väärtuse määratud võtmega kaardile ainult siis, kui see pole veel määratud
public Object get (objekti võti)See tagastab määratud võtme väärtuse
avalik tõeväärtus sisaldab võtit (objekti võti)
Seda kasutatakse sellel kaardil määratud võtme otsimiseks

Kaardi rakendused

Neid on mitu mis rakendavad Java Mapikuid kolm peamist ja üldotstarbelist teostust onHashMap, TreeMap ja LinkedHashMap.Vaatame näite abil iga rakenduse omadusi ja käitumist

HashMapi klass

Kõige tavalisem klass, mis Java Mapi liidest rakendab, on HashMap. See on kaardiliidese räsitabelipõhine teostus.See rakendab kõiki kaarditoiminguidja lubab nullväärtused ja ühe nullvõtme. Samuti ei hoia see klass oma elementide seas mingit korda. Siin on näidisprogramm, mis demonstreerib klassi HashMap.

mida tähendab __init__ pythonis
pakett MyPackage import java.util. * klass HashMapExample {public static void main (String [] args) {Kaardikursused = uus HashMap () // Lisage mõned kursused. kursused.put ('Java kursused', uus täisarv (6)) kursused. väljund ('Pilvekursused', uus täisarv (7)) kursused. väljund ('Programmeerimiskursused', uus täisarv (5)) kursused.put (' Andmeteaduse kursused ', uus täisarv (2)) System.out.println (' Kursusi kokku: '+ kursused.size ()) Määrast = courses.entrySet () for (Map.Entry me: st) {System.out.print (me.getKey () + ':') System.out.println (me.getValue ())} System.out. println () string String searchKey = 'Java-kursused' if (Course.containsKey (searchKey)) System.out.println ('Leitud kokku' + kursused.get (searchKey) + '' + searchKey)}}

Väljund

Kursusi kokku: 4 pilvekursust: 7 programmeerimiskursust: 5 andmeteaduse kursust: 2 Java-kursust: 6 leitud kokku 6 Java-kursust

Ülaltoodud programmis olen kasutanud palju tabelis mainitud meetodeid. Esiteks panema () meetod lisab kaardile 4 kirjet ja suurus () Järgmises etapis kuvab meetod kaardi suuruse (võtmeväärtuste paarid kokku). Pärast seda, järgmises etapis, entrySet () meetod tagastab kõik võtme-väärtuse paarid. Samuti näitab programm, kuidas seda kasutada saada () meetod väärtuse otsimiseks seotud võtme abil.

Liigume järgmise klassi juurde, mis rakendab Java Map Interface'i - TreeMap.

TreeMap klass

Selle rakenduse aluseks on punane-must puu andmete struktuur . TreeMap on sorteeritud vastavalt võtmete loomulikule järjestusele või loomise ajal antud võrdlejale. See juurutamine ei võimalda nullimist, kuid säilitabselle elementide järjekord. Siin on näidisprogramm, mis näitab klassi TreeMap.

pakett MyPackage import java.util. * klass TreeMapEx {public static void main (String [] args) {Kaardikursused = uus TreeMap () // Lisage mõned kursused. kursused.put ('Java kursused', uus täisarv (3)) kursused. väljund ('AWS-i kursused, uus täisarv (7)) kursused. väljund (' programmeerimiskursused ', uus täisarv (8)) kursused.put (' Andmeteaduse kursused ', uus täisarv (2)) System.out.println (' Kursusi kokku: '+ kursused.size ()) Määrast = courses.entrySet () for (Map.Entry me: st) {System.out.print (me.getKey () + ':') System.out.println (me.getValue ())} System.out. println ()}}

Väljund

Kursusi kokku: 4 AWS-i kursust: 7 andmeteaduse kursust: 2 Java-kursust: 3 programmeerimiskursust: 8

Väljundis trükitakse kaardi elemendid ranges leksikograafilises järjekorras, mida HashMapi varasemates näidetes ei esine. Järgmine klass, mille üle arutleme, on LinkedHashMap .

LinkedHashMapi klass

Kuna nimi osutab, kasutab see Java Mapi liidese juurutamist alusstruktuuridena räsitabelit ja lingitud loendit. Seega on LinkedHashMapi järjestusennustatav, vaikekorrana sisestamisjärjestus. Samuti lubab nullid nagu HashMapis. Siin on näidisprogramm, mis näitab klassi TreeMap.

pakett 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 (' Pilvekursused ', uus täisarv (7)) kursused. Sisestus (' Programmeerimiskursused ', uus täisarv (8)) kursused. Sisestus (' Andmeteaduse kursused, uus täisarv (2)) // Prindib elemendid samas järjekorras // nende sisestamise ajal System.out.println (kursused) System.out.println ('Kursusi kokku:' + kursused.size ()) System.out.println ('Sisaldab võtit' Hadoop '?' + kursused.containsKey ('Hadoop')) System.out.println ('Võtme' Programmeerimiskursused 'väärtuse saamine:' + courses.get ('Programmeerimiskursused')) System.out.println ('Kas kaart on tühi?' + Kursused.isEmpty ()) System.out.println ('kustuta element' Pilvekursused ':' + courses.remove ('Pilvekursused')) System.out.println (kursused)}}

Väljund

{Java kursused = 3, pilvekursused = 7, programmeerimiskursused = 8, andmeteaduse kursused = 2} Kursusi kokku: 4 Kas sisaldab võtit 'Hadoop'? false Võtme 'Programmeerimiskursused' väärtuse saamine: 8 Kas kaart on tühi? vale kustutamise element 'Pilvekursused': 7 {Java-kursused = 3, programmeerimiskursused = 8, andmeteaduste kursused = 2}

Näidisprogrammi on üsna lihtne mõista. Olen kasutanud mõningaid põhimeetodeid, et näidata Java LinkeHashMapi toimimist. Nagu ma varem ütlesin, on lisaks nendele kolmele Java Mapi liidest rakendavad paljud teised klassid.

See viib meid selle artikli „Java Map Interface” lõppu. Olen käsitlenud Java üht huvitavat teemat, milleks on Java liides Map interface.

Harjutage kindlasti nii palju kui võimalik ja pöörake oma kogemused tagasi.

Vaadake Edureka, usaldusväärne veebiõppeettevõte, mille võrgustik hõlmab üle 250 000 rahuloleva õppija, levinud üle kogu maailma. Oleme siin, et aidata teil igal sammul teie teekonnal, et saada lisaks sellele Java-intervjuu küsimustele välja, pakume välja õppekava, mis on mõeldud õpilastele ja spetsialistidele, kes soovivad olla Java-arendajad.

Kas teil on meile küsimus? Palun mainige seda selle java Mapi liidese kommentaaride jaotises artikli ja võtame teiega ühendust niipea kui võimalik.