Razlika između HashMap-a i TreeMap-a

Ključna razlika - HashMap vs stablu
 

U programiranju postoje razni mehanizmi za prikupljanje podataka. Zbirke su jedna metoda za pohranu podataka. Programski jezici kao što je Java koriste Zbirke. To je okvir s klasama i sučeljima za pohranu i manipuliranje skupom podataka. U normalnom polju postoji fiksni broj elemenata za pohranjivanje. To je ograničenje nizova. Umjesto toga, programer može koristiti kolekcije. Postupci poput umetanja, brisanja, sortiranja i pretraživanja mogu se izvoditi pomoću zbirki. U Javi sučelje Map pripada kolekcijama. Mapa se koristi za predstavljanje podataka u ključevima, parovima vrijednosti. Postoje samo jedinstveni ključevi, a svaki ima odgovarajuću vrijednost. HashMap i TreeMap su klase koje implementiraju sučelje Map. HashMap je zbirna klasa temeljena na mapi koja se koristi za spremanje parova ključeva i vrijednosti koji ne održavaju određeni red u elementima podataka. TreeMap je zbirka klase temeljena na mapi koja se koristi za spremanje parova ključeva i vrijednosti koji održavaju uzlazni redoslijed elemenata podataka. ključna razlika između HashMap-a i TreeMap-a je to HashMap ne održava određeni red u podatkovnim elementima dok TreeMap održava redoslijed uzlaznih elemenata podataka.

SADRŽAJ

1. Pregled i ključne razlike
2. Što je HashMap
3. Što je TreeMap
4. Sličnosti između HashMap-a i TreeMap-a
5. Usporedna usporedba - HashMap vs TreeMap u tabelarnom obliku
6. Sažetak

Š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čeva i vrijednosti. Svaki je element jedinstven. Lako je pronaći elemente u HashMapu pomoću ključa. Deklariranje HashMap-a je kako slijedi.

public class HashMap proteže AbstractMap oruđa weba, Cloneable, serializable

K odnosi ključ dok se V odnosi na vrijednost koja odgovara tom ključu. Svaki ključ, par vrijednosti je unos HashMap-a.

Slika 01: Sučelje karte

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

Slika 02: HashMap program pomoću Java

Prema gore navedenom programu stvara se objekt HashMap-a. Tada programer može dodati elemente pomoću tog objekta. Vrijednosti se mogu umetnuti metodom put. Da bi preuzeo vrijednosti, programer bi trebao koristiti metodu get s ključem. Kada koristite studentList.get ("150"); ispisat će odgovarajuće ime tom indeksu koji je Ann. Ako programer želi dobiti sve vrijednosti, tada može upotrijebiti Map.Entry za ispis svih ključeva i vrijednosti. Kada se promatra izlaz, može se vidjeti da HashMap ne održava određeni red. Ne ispisuje elemente u umetnutom redoslijedu. Elementi su ispisani nasumičnim redoslijedom.

Što je TreeMap?

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

public class stablu proteže AbstractMap oruđa NavigableMap, Cloneable, serializable

K odnosi ključ dok se V odnosi na vrijednost koja odgovara tom ključu. Svaki ključ, par vrijednosti je unos TreeMap-a.

Slika 03: TreeMap program pomoću Java

Prema gore navedenom programu, stvara se objekt TreeMap-a. Tada programer može dodati elemente pomoću tog objekta. Vrijednosti se mogu umetnuti metodom put. Da bi preuzeo vrijednosti, programer bi trebao koristiti metodu get s ključem. Kada koristite studentList.get ("150"); ispisat će odgovarajuće ime tom indeksu koji je Ann. Ako programer želi dobiti sve vrijednosti, tada može upotrijebiti Map.Entry za ispis svih ključeva i vrijednosti. Kada se promatra izlaz, može se vidjeti da TreeMap održava određeni red. Elementi su ispisani uzlaznim redoslijedom.

Koje su sličnosti između HashMap-a i TreeMap-a?

  • 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 mnoge null vrijednosti.
  • Ne postoji ograničenje broja elemenata koji se mogu pohraniti u HashMap i TreeMap.

Koja je razlika između HashMap-a i TreeMap-a?

HashMap vs TreeMap

HashMap je zbirka klase temeljena na mapi koja se koristi za spremanje parova ključeva i vrijednosti koji ne održavaju određeni red u elementima podataka. TreeMap je zbirka klase temeljena na mapi koja se koristi za spremanje parova ključeva i vrijednosti koji održava redoslijed uzlaznih elemenata podataka.
 Narudžba
HashMap ne održava red. TreeMap održava uzlazni poredak.
Null Key
HashMap može sadržavati jednu null tipku. TreeMap ne može imati null tipku.
 Izvođenje
HashMap je brži od TreeMap-a. TreeMap je sporiji od HashMap-a.

Sažetak - HashMap vs stablu

Programski jezici kao što je Java sadrži okvir za prikupljanje. U nizovima može biti fiksni broj elemenata. Stoga treba na početku inicijalizirati veličinu niza. U kolekcijama programer može pohraniti više elemenata prema potrebi. Ne postoji određeni iznos za pohranu. Mapa je sučelje koje pripada zbirci okvira. HashMap je zbirna klasa temeljena na mapi koja se koristi za spremanje parova ključeva i vrijednosti koji ne održavaju određeni red u elementima podataka. TreeMap je zbirka klase temeljena na mapi koja se koristi za spremanje parova ključeva i vrijednosti koji održava redoslijed uzlaznih elemenata podataka. Ovaj članak govori o razlici između HashMap-a i TreeMap-a koji implementira Map sučelje. Razlika između HashMap-a i TreeMap-a je u tome što HashMap ne održava određeni red u podatkovnim elementima dok TreeMap održava redoslijed uzlaznih elemenata podataka..

Referenca:

1. "HashMap u Javi - javatpoint." Točka, Dostupno ovdje
2. "TreeMap u Javi - javatpoint."  Točka, Dostupno ovdje

Ljubaznošću slike:

1.'Java.util.Mie hijerarhija'By ramlmn - Vlastiti rad, (CC BY-SA 4.0) putem Commons Wikimedia