Kiemelt különbség – HashMap vs TreeMap
A programozásban különféle mechanizmusok léteznek az adatgyűjtésre. A gyűjtemények az adatok tárolásának egyik módja. A programozási nyelvek, például a Java, a Collections-t használják. Ez egy keretrendszer osztályokkal és interfészekkel adatelemek halmazának tárolására és kezelésére. Egy normál tömbben meghatározott számú elemet kell tárolni. Ez a tömbök korlátozása. Ehelyett a programozó gyűjteményeket használhat. Az olyan műveletek, mint a beszúrás, törlés, rendezés és keresés, gyűjtemények segítségével hajthatók végre. Java nyelven a Map felület a gyűjteményekhez tartozik. A térkép a kulcs-érték párokban lévő adatok ábrázolására szolgál. Csak egyedi kulcsok vannak, és mindegyiknek megfelelő értéke van. A HashMap és a TreeMap olyan osztályok, amelyek megvalósítják a Map felületet. A HashMap egy térkép alapú gyűjtési osztály, amelyet olyan kulcs- és értékpárok tárolására használnak, amelyek nem tartanak fenn meghatározott sorrendet az adatelemekben. A TreeMap egy térkép alapú gyűjteményosztály, amely kulcs- és értékpárok tárolására szolgál, amelyek fenntartják az adatelemek növekvő sorrendjét. A fő különbség a HashMap és a TreeMap között az, hogy a HashMap nem tart fenn meghatározott sorrendet az adatelemekben, míg a TreeMap az adatelemek növekvő sorrendjét.
Mi az a HashMap?
A HashMap egy osztály, amely megvalósítja a térképfelületet. Bővíti az AbstractMap osztályt és megvalósítja a Map interfészt. A HashMap tartalmazza a kulcs-érték párokat. Minden elem egyedi. A kulcs segítségével könnyen megtalálhatja az elemeket a HashMapben. A HashMap deklarálása a következőképpen történik.
public class HashMap kiterjeszti az AbstractMap térképet, klónozható, szerializálható
A K a kulcsra, míg a V az adott kulcsnak megfelelő értékre utal. Minden kulcs, érték pár a HashMap bejegyzése.
01. ábra: Térképfelület
Tegyük fel a következő forgatókönyvet a HaspMap megértéséhez. Ha ott a programozó tanulóneveket és a megfelelő indexszámokat szeretne tárolni, használhatja a HashMap-et. A tanulók nevei alapján találjuk meg az indexszámokat. Ezért a tanulók nevei a kulcsok, míg az indexszámok az értékek.
02. ábra: HashMap program Java használatával
A fenti program szerint létrejön egy HashMap objektum. Ezután a programozó hozzáadhat elemeket az objektum segítségével. Az értékeket put metódussal lehet beilleszteni. Az értékek lekéréséhez a programozónak a get metódust kell használnia a kulccsal. StudentList.get("150") használatakor; kiírja a megfelelő nevet annak az indexnek, amely Ann. Ha a programozó az összes értéket meg akarja szerezni, akkor a Map. Entry segítségével kinyomtathatja az összes kulcsot és értéket. A kimenet megfigyelésekor látható, hogy a HashMap nem tart fenn meghatározott sorrendet. Nem a beillesztett sorrendben nyomtatja ki az elemeket. Az elemek véletlenszerű sorrendben kerülnek kinyomtatásra.
Mi az a TreeMap?
A TreeMap egy Java osztály, amely megvalósítja a Map felületet. A HashMap-hez hasonlóan kulcs-értékpárok tárolására is szolgál, de növekvő sorrendben. A TreeMap megvalósítja a NavigableMap-et, a NavigableMap pedig a SortedMap-et, a SortedMap pedig a Térképet. Minden elem egyedi. A TreeMap deklarálása a következőképpen történik.
public class TreeMap kiterjeszti az AbstractMap navigációs térképet, klónozható, szerializálható
A K a kulcsra, míg a V az adott kulcsnak megfelelő értékre utal. Minden kulcs, érték pár a TreeMap bejegyzése.
03. ábra: TreeMap program Java használatával
A fenti program szerint létrejön egy TreeMap objektum. Ezután a programozó hozzáadhat elemeket az objektum segítségével. Az értékeket put metódussal lehet beilleszteni. Az értékek lekéréséhez a programozónak a get metódust kell használnia a kulccsal. StudentList.get("150") használatakor; kiírja a megfelelő nevet annak az indexnek, amely Ann. Ha a programozó az összes értéket meg akarja szerezni, akkor a Map. Entry segítségével kinyomtathatja az összes kulcsot és értéket. A kimenet megfigyelésekor látható, hogy a TreeMap meghatározott sorrendet tart fenn. Az elemek növekvő sorrendben jelennek meg.
Mi a hasonlóság a HashMap és a TreeMap között?
- A HashMap és a TreeMap is megvalósítja a térképes felületet.
- A HashMap és a TreeMap is számos elemet képes tárolni és kezelni.
- A HashMap és a TreeMap egyaránt tartalmaz kulcs-érték párokat.
- A HashMapnek és a TreeMapnek is sok null értéke lehet.
- Nincs korlátozás a HashMapben és a TreeMapben egyaránt tárolható elemek számára.
Mi a különbség a HashMap és a TreeMap között?
HashMap vs TreeMap |
|
A HashMap egy térkép alapú gyűjtési osztály, amelyet olyan kulcs- és értékpárok tárolására használnak, amelyek nem tartanak fenn meghatározott sorrendet az adatelemekben. | A TreeMap egy térkép alapú gyűjteményosztály, amely kulcs- és értékpárok tárolására szolgál, és fenntartja az adatelemek növekvő sorrendjét. |
Rendelés | |
A HashMap nem tartja fenn a sorrendet. | A TreeMap fenntartja a növekvő sorrendet. |
Null Key | |
A HashMap egy null kulcsot tartalmazhat. | A TreeMap nem rendelkezhet nullkulccsal. |
Teljesítmény | |
A HashMap gyorsabb, mint a TreeMap. | A TreeMap lassabb, mint a HashMap. |
Összefoglaló – HashMap vs TreeMap
A programozási nyelvek, például a Java, tartalmazzák a gyűjtési keretrendszert. A tömbökben fix számú elem lehet. Ezért a tömb méretét az elején inicializálni kell. A gyűjteményekben a programozó igény szerint sok elemet tárolhat. Nincs konkrét tárolandó mennyiség. A térkép a gyűjteményi keretrendszerhez tartozó felület. A HashMap egy térkép alapú gyűjtési osztály, amelyet olyan kulcs- és értékpárok tárolására használnak, amelyek nem tartanak fenn meghatározott sorrendet az adatelemekben. A TreeMap egy Map alapú gyűjteményosztály, amely kulcs- és értékpárok tárolására szolgál, és fenntartja az adatelemek növekvő sorrendjét. Ez a cikk a HashMap és a térképfelületet megvalósító TreeMap közötti különbséget tárgy alta. A HashMap és a TreeMap közötti különbség az, hogy a HashMap nem tart fenn meghatározott sorrendet az adatelemekben, míg a TreeMap az adatelemek növekvő sorrendjét.