Különbség a HashMap és a TreeMap között

Tartalomjegyzék:

Különbség a HashMap és a TreeMap között
Különbség a HashMap és a TreeMap között

Videó: Különbség a HashMap és a TreeMap között

Videó: Különbség a HashMap és a TreeMap között
Videó: Difference between HashMap, LinkedHashMap and TreeMap | Core Java Interview Questions | Naresh IT 2024, November
Anonim

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.

Különbség a HashMap és a TreeMap között
Különbség a HashMap és a TreeMap között

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.

A HashMap és a TreeMap közötti különbség _02. ábra
A HashMap és a TreeMap közötti különbség _02. ábra

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.

Főbb különbség a HashMap és a TreeMap között
Főbb különbség a HashMap és a TreeMap között

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.

Ajánlott: