Razlika između HashMapa i TreeMapa

Sadržaj:

Razlika između HashMapa i TreeMapa
Razlika između HashMapa i TreeMapa

Video: Razlika između HashMapa i TreeMapa

Video: Razlika između HashMapa i TreeMapa
Video: Бентонит. Что это? Где взять. 2024, Studeni
Anonim

Ključna razlika – HashMap vs TreeMap

U programiranju postoje različiti mehanizmi za prikupljanje podataka. Zbirke su jedna od metoda pohranjivanja podataka. Programski jezici kao što je Java koriste zbirke. To je okvir s klasama i sučeljima za pohranu i manipuliranje skupom podatkovnih elemenata. U normalnom nizu postoji fiksni broj elemenata za pohranu. To je ograničenje nizova. Umjesto toga, programer može koristiti zbirke. Operacije kao što su umetanje, brisanje, sortiranje i pretraživanje mogu se izvoditi pomoću zbirki. U Javi, sučelje karte pripada zbirkama. Karta se koristi za predstavljanje podataka u parovima ključeva i vrijednosti. Postoje samo jedinstveni ključevi, a svaki ima odgovarajuću vrijednost. HashMap i TreeMap su klase koje implementiraju Map sučelje. HashMap je klasa zbirke temeljena na karti koja se koristi za pohranu parova ključeva i vrijednosti koji ne održavaju određeni redoslijed u elementima podataka. TreeMap je klasa zbirke zasnovana na karti koja se koristi za pohranu parova ključeva i vrijednosti koji održavaju uzlazni redoslijed podatkovnih elemenata. Ključna razlika između HashMap i TreeMap je u tome što HashMap ne održava određeni redoslijed u elementima podataka dok TreeMap održava uzlazni redoslijed elemenata podataka.

Što je HashMap?

HashMap je klasa koja implementira sučelje karte. Proširuje klasu AbstractMap i implementira sučelje Map. HashMap sadrži parove ključa i vrijednosti. Svaki element je jedinstven. Pomoću ključa lako je pronaći elemente u HashMapu. Deklariranje HashMapa je kako slijedi.

javna klasa HashMap proširuje AbstractMap implementira Map, Cloneable, Serializable

K se odnosi na ključ dok se V odnosi na vrijednost koja odgovara tom ključu. Svaki par ključeva i vrijednosti je unos HashMapa.

Razlika između HashMapa i TreeMapa
Razlika između HashMapa i TreeMapa

Slika 01: Sučelje karte

Pretpostavite sljedeći scenarij da biste razumjeli HaspMap. Ako tamo programer želi pohraniti skup imena studenata i odgovarajuće brojeve indeksa, može koristiti HashMap. Imena studenata koriste se za pronalaženje brojeva indeksa. Stoga su imena učenika ključevi dok su brojevi indeksa vrijednosti.

Razlika između HashMapa i TreeMapa _Slika 02
Razlika između HashMapa i TreeMapa _Slika 02

Slika 02: HashMap program koji koristi Javu

Prema gornjem programu kreira se objekt HashMap. Tada programer može dodati elemente pomoću tog objekta. Vrijednosti se mogu umetnuti metodom put. Da bi dohvatio vrijednosti, programer treba koristiti get metodu s ključem. Kada koristite studentList.get(“150”); ispisat će odgovarajuće ime tom indeksu koje je Ann. Ako programer želi dobiti sve vrijednosti, tada može koristiti Map. Entry za ispis svih ključeva i vrijednosti. Kada se promatra izlaz, može se vidjeti da HashMap ne održava određeni redoslijed. Ne ispisuje elemente u umetnutom redoslijedu. Elementi se ispisuju nasumičnim redoslijedom.

Što je TreeMap?

TreeMap je klasa u Javi koja implementira sučelje karte. Slično kao HashMap, također se koristi za pohranjivanje parova ključeva i vrijednosti, ali uzlaznim redoslijedom. TreeMap implementira NavigableMap i NavigableMap proširuje SortedMap i SortedMap proširuje Map. Svaki element je jedinstven. Deklariranje TreeMapa je kako slijedi.

javna klasa TreeMap proširuje AbstractMap implementira NavigableMap, Cloneable, Serializable

K se odnosi na ključ dok se V odnosi na vrijednost koja odgovara tom ključu. Svaki par ključeva i vrijednosti je unos TreeMapa.

Ključna razlika između HashMapa i TreeMapa
Ključna razlika između HashMapa i TreeMapa

Slika 03: Program TreeMap koji koristi Javu

Prema gornjem programu kreira se objekt TreeMap. Tada programer može dodati elemente pomoću tog objekta. Vrijednosti se mogu umetnuti metodom put. Da bi dohvatio vrijednosti, programer treba koristiti get metodu s ključem. Kada koristite studentList.get(“150”); ispisat će odgovarajuće ime tom indeksu koje je Ann. Ako programer želi dobiti sve vrijednosti, tada može koristiti Map. Entry za ispis svih ključeva i vrijednosti. Promatrajući izlaz, može se vidjeti da TreeMap održava određeni redoslijed. Elementi se ispisuju uzlaznim redoslijedom.

Koje su sličnosti između HashMapa i TreeMapa?

  • I HashMap i TreeMap implementiraju sučelje karte.
  • I HashMap i TreeMap mogu pohraniti i manipulirati mnogim elementima.
  • I HashMap i TreeMap sadrže parove ključeva i vrijednosti.
  • I HashMap i TreeMap mogu imati mnogo null vrijednosti.
  • Ne postoji ograničenje broja elemenata koji se mogu pohraniti u HashMap i TreeMap.

Koja je razlika između HashMapa i TreeMapa?

HashMap vs TreeMap

HashMap je klasa zbirke temeljena na mapi koja se koristi za pohranu parova ključeva i vrijednosti koji ne održavaju određeni redoslijed u elementima podataka. TreeMap je klasa zbirke temeljena na karti koja se koristi za pohranjivanje parova ključeva i vrijednosti koji održavaju uzlazni redoslijed podatkovnih elemenata.
Narudžba
HashMap ne održava redoslijed. TreeMap održava uzlazni poredak.
Null Key
HashMap može sadržavati jedan null ključ. TreeMap ne može imati nulti ključ.
Izvedba
HashMap je brži od TreeMapa. TreeMap je sporiji od HashMapa.

Sažetak – HashMap vs TreeMap

Programski jezici kao što je Java sadrže okvir zbirke. U nizovima može postojati fiksni broj elemenata. Stoga, veličinu niza treba inicijalizirati na početku. U zbirkama, programer može pohraniti mnoge elemente prema potrebi. Ne postoji određena količina za pohranu. Karta je sučelje koje pripada okviru zbirke. HashMap je klasa zbirke zasnovana na karti koja se koristi za pohranu parova ključeva i vrijednosti koji ne održavaju određeni redoslijed u elementima podataka. TreeMap je klasa zbirke temeljena na karti koja se koristi za pohranu parova ključeva i vrijednosti koja održava uzlazni redoslijed podatkovnih elemenata. Ovaj članak raspravlja o razlici između HashMapa i TreeMapa koji implementira sučelje Map. Razlika između HashMap i TreeMap je u tome što HashMap ne održava određeni redoslijed u elementima podataka dok TreeMap održava uzlazni redoslijed elemenata podataka.

Preporučeni: