Hogyan valósítsuk meg a térképi felületet Java-ban?



Ez a cikk a Java Map Inteface-ről segít megérteni, hogyan működik a Map a Java-ban, és megismerteti Önt a Map Interface-t megvalósító különböző osztályokkal

A Java egyik legérdekesebb témája a Map felület, amelyegy kulcs és egy érték közötti leképezést jelent.Gyakran félreértik, hogy annak altípusa felület Java-ban.Ez a Java Map Interface című cikk segít megérteni és elsajátítani a térkép működését .

Az alábbiakban felsoroljuk a cikk témáit:





Java Map Interface

A Java térkép egy tárgy amely a kulcsokat hozzárendeli az értékekhez és a gyorsabb kereséshez készült. Az adatokat kulcs-érték párokban tárolják, és minden kulcs egyedi. Minden kulcs egy értékhez rendeli, így a névtérkép. Ezeket a kulcsérték párokat térképbejegyzéseknek nevezzük.

Térképek Java-ban - Java Map Interface - Edureka



Ban,-ben , java.util.Térkép egy amely magában foglalja a módszeren alapuló aláírásokat az elemek kulcsra történő beillesztéséhez, eltávolításához és visszakereséséhez. Ilyen módszerekkel tökéletes eszköz a kulcsérték-asszociációk feltérképezéséhez, például szótárakhoz.

A térképi felület jellemzői

  • A Map felület nem a Collection felület igazi altípusa, ezértjellemzői és viselkedése eltér a többi gyűjteménytípustól.
  • Ez biztosítjahárom gyűjtemény nézet - kulcskészlet, kulcsérték-hozzárendelések és értékgyűjtemény.
  • NAK NEKTérképnem tartalmazhat ismétlődő kulcsokat, és mindegyik kulcs legfeljebb egy értéket képes leképezni. Néhány megvalósítás megengedi a null kulcsot és a null értéket ( HashMap és LinkedHashMap ) de néhányan nem ( TreeMap).
  • A Map felület nem garantálja a leképezések sorrendjét, azonban a megvalósítástól függ. Például, HashMap nem garantálja a leképezések sorrendjét, de TreeMap csinál.
  • Az AbstractMap osztály a Java Map felület és a Map beton nagy részének csontvázas megvalósítását biztosítja osztályok kiterjessze az AbstractMap osztályt és valósítsa meg a szükséges módszereket.

Most, hogy van ötlete arról, hogy mi a Map felület azaz menjünk előre és nézzük meg a Java Map hierarchiáját.

Java Térkép hierarchia

Két felület valósítja meg a Map-et Java-ban: Map és SortedMap. És a Java Java népszerű megvalósítási osztályai HashMap, TreeMap , és LinkedHashMap. A Java Map hierarchiája az alábbiakban látható:



Mielőtt megnéznénk a Java Map Interface fent említett három megvalósítási osztályát, íme néhány gyakori módszer, amelyekkel találkozhat a Map használatakor.

Módszerek a Java Map Interface-ben

Mód

Leírás

public put (objektumkulcs, objektumérték)Ez a módszer beszúr egy bejegyzést a térképbe
nyilvánosvoid putAll (Térképes térkép)Ez a módszer beilleszti a megadott térképet ebbe a térképbe
public Object remove (Object key)A megadott kulcs bejegyzésének törlésére szolgál
public Set keySet ()Visszaadja az összes kulcsot tartalmazó Set nézetet
public Set entrySet ()Visszaadja az összes kulcsot és értéket tartalmazó Set nézetet
void clear ()A térkép visszaállítására szolgál
public void putIfAbsent (K kulcs, V érték)Csak akkor illeszti be a megadott értéket a megadott kulccsal a térképbe, ha még nincs megadva
public Object get (Object key)Visszaadja a megadott kulcs értékét
nyilvános logikai fájl tartalmazzaKey (objektumkulcs)
Ezt a térképet használja a megadott kulcs keresésére

A Map megvalósításai

Több is van amelyek megvalósítják a Java Map-tde három fő és általános célú megvalósítás azHashMap, TreeMap és LinkedHashMap.Lássuk egy példával az egyes megvalósítások jellemzőit és viselkedését

HashMap osztály

A Java Map felületet leggyakrabban alkalmazó osztály a HashMap. Ez a Map felület hash táblázatos megvalósítása.A Map összes műveletét végrehajtjaés null értékeket és egy null kulcsot engedélyez. Ez az osztály nem tart fenn semmiféle rendet az elemei között. Itt van egy példa program, amely bemutatja a HashMap osztályt.

csomag MyPackage import java.util. * osztály HashMapExample {public static void main (String [] args) {Térképtanfolyamok = új HashMap () // Néhány tanfolyam hozzáadása. courses.put („Java tanfolyamok”, új egész szám (6)) tanfolyamok. input („Felhő tanfolyamok”, új egész szám (7)) tanfolyamok. input („Programozási tanfolyamok”, új egész szám (5)) kurzusok.put (' Adattudományi tanfolyamok ', új egész szám (2)) System.out.println (' Összes tanfolyam: '+ tanfolyamok.méret ()) Beállításst = courses.entrySet () a (Map.Entry me: st) {System.out.print (me.getKey () + ':') System.out.println (me.getValue ())} System.out. println () String searchKey = 'Java tanfolyamok' if (Course.containsKey (searchKey)) System.out.println ('Összes megtalálva' + tanfolyamok.get (searchKey) + '' + searchKey)}}

Kimenet

Összes tanfolyam: 4 felhő tanfolyam: 7 programozó tanfolyam: 5 adattudományi tanfolyam: 2 Java tanfolyam: 6 talált összesen 6 Java tanfolyam

A fenti programban sok olyan módszert alkalmaztam, amelyet a táblázatban említek. Először is a put () metódus 4 bejegyzést illeszt be a térképbe, és a méret() módszer a következő lépésben megjeleníti a térkép méretét (az összes kulcs-érték pár). Ezt követően a következő lépésben a entrySet () metódus visszaadja az összes kulcs-érték párot. A program azt is bemutatja, hogyan lehet felhasználni kap() módszer az érték megkeresésére a társított kulccsal.

Térjünk át a következő osztályra, amely a Java Map Interface - TreeMap programot valósítja meg.

TreeMap osztály

Ez a megvalósítás a vörös-fekete fát használja alapul adatszerkezet . A TreeMap a kulcsainak természetes sorrendje vagy a létrehozáskor megadott összehasonlító szerint van rendezve. Ez a megvalósítás nem engedélyezi a nullákat, de fenntartja azokatsorrend az elemein. Itt van egy példa program, amely bemutatja a TreeMap osztályt.

csomag MyPackage import java.util. * class TreeMapEx {public static void main (String [] args) {Térképpályák = új TreeMap () // Néhány tanfolyam hozzáadása. courses.put ('Java tanfolyamok', új egész szám (3)) tanfolyamok. input ('AWS tanfolyamok', új egész szám (7)) tanfolyamok. input ('Programozási tanfolyamok', új egész szám (8)) tanfolyamok.put (' Adattudományi tanfolyamok ', új egész szám (2)) System.out.println (' Összes tanfolyam: '+ tanfolyamok.méret ()) Beállításst = courses.entrySet () a (Map.Entry me: st) {System.out.print (me.getKey () + ':') System.out.println (me.getValue ())} System.out. println ()}}

Kimenet

Összes tanfolyam: 4 AWS tanfolyam: 7 adattudományi tanfolyam: 2 Java tanfolyam: 3 programozási tanfolyam: 8

a módszer túlterhelése és a módszer felülbírálása

A kimenetben a térkép elemeit szigorú lexikográfiai sorrendben nyomtatják, ami a HashMap korábbi példáiban nem jelenik meg. A következő osztály, amelyet megvitatunk, az LinkedHashMap .

LinkedHashMap osztály

Mivel a neve jelzi, a Java Map felület ezen megvalósítása kivonat táblát és összekapcsolt listát használ az alapul szolgáló adatstruktúrákként. Így a LinkedHashMap sorrendjekiszámítható, alapértelmezett sorrendként a beszúrási sorrend. Ezenkívül engedélyezi a nullákat, mint a HashMap-ban. Itt van egy példa program, amely bemutatja a TreeMap osztályt.

csomag 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 (' Felhő tanfolyamok ', új egész szám (7)) tanfolyamok. Bemenet (' Programozási tanfolyamok, új egész szám (8)) tanfolyamok. Bemenet ('Adat-tudományi tanfolyamok, új egész szám (2)] // Az elemeket ugyanabban a sorrendben nyomtatja ki // amikor beillesztették őket System.out.println (tanfolyamok) System.out.println ('Összes tanfolyam:' + természetesen.size ()) System.out.println ('A' Hadoop 'kulcsot tartalmazza?' + courses.containsKey ('Hadoop')) System.out.println ('A kulcs' Programozó tanfolyamok értékének megszerzése: '+ courses.get (' Programozási tanfolyamok ')) System.out.println (' Üres a térkép? '+ Courses.isEmpty ()) System.out.println ('a' Cloud Courses 'elem törlése:' + courses.remove ('Cloud Courses')) System.out.println (Courses)}}

Kimenet

{Java tanfolyamok = 3, felhő tanfolyamok = 7, programozási tanfolyamok = 8, adattudományi tanfolyamok = 2} Összes tanfolyam: 4 A 'Hadoop' kulcsot tartalmazza? false A „Programozó tanfolyamok” kulcsának megkapása: 8 Üres a térkép? hamis törlés 'Cloud Courses' elem: 7 {Java tanfolyamok = 3, programozási tanfolyamok = 8, adattudományi tanfolyamok = 2}

A példa program meglehetősen egyszerű megérteni. Néhány alapvető módszert alkalmaztam a LinkeHashMap Java működésének bemutatására. Mint korábban említettem, ezen a háromon kívül még sok más osztály létezik, amelyek a Java Map felületet valósítják meg.

Ezzel eljutottunk a „Java Map Interface” cikk végéhez. Kitértem a Java egyik érdekes témájára, ami a Map felület a Java-ban.

Győződjön meg arról, hogy a lehető legtöbbet gyakorolja, és állítsa vissza a tapasztalatait.

Nézze meg a az Edureka, egy megbízható online tanulási vállalat, amelynek több mint 250 000 elégedett tanulóval rendelkező hálózata elterjedt az egész világon. Azért vagyunk itt, hogy segítséget nyújtsunk az utazás minden lépésében, hogy e java interjúk kérdése mellett a tananyagot kitaláljuk olyan hallgatók és szakemberek számára, akik Java fejlesztők szeretnének lenni.

Van egy kérdésünk? Kérjük, említse meg a „java Map felület” megjegyzés szakaszában cikket, és a lehető leghamarabb kapcsolatba lépünk Önnel.