Różnica między HashMap a TreeMap

Spisu treści:

Różnica między HashMap a TreeMap
Różnica między HashMap a TreeMap

Wideo: Różnica między HashMap a TreeMap

Wideo: Różnica między HashMap a TreeMap
Wideo: 20. Kurs Java dla początkujących - Kolekcje: Map, Set 2024, Grudzień
Anonim

Kluczowa różnica – HashMap vs TreeMap

W programowaniu istnieją różne mechanizmy gromadzenia danych. Kolekcje to jedna z metod przechowywania danych. Języki programowania, takie jak Java, korzystają z Kolekcji. Jest to framework z klasami i interfejsami do przechowywania i manipulowania zestawem elementów danych. W normalnej tablicy istnieje stała liczba elementów do przechowywania. To jest ograniczenie tablic. Zamiast tego programista może korzystać z kolekcji. Za pomocą kolekcji można wykonywać operacje takie jak wstawianie, usuwanie, sortowanie i wyszukiwanie. W Javie interfejs Map należy do kolekcji. Mapa służy do reprezentowania danych w parach klucz, wartość. Istnieją tylko unikalne klucze, a każdy ma odpowiednią wartość. HashMap i TreeMap to klasy implementujące interfejs Map. HashMap to klasa kolekcji oparta na mapie, która służy do przechowywania par kluczy i wartości, które nie zachowują określonej kolejności w elementach danych. TreeMap to klasa kolekcji oparta na mapie, która służy do przechowywania par kluczy i wartości, które zachowują rosnącą kolejność elementów danych. Kluczowa różnica między HashMap i TreeMap polega na tym, że HashMap nie utrzymuje określonej kolejności elementów danych, podczas gdy TreeMap utrzymuje kolejność rosnącą elementów danych.

Co to jest HashMap?

HashMap to klasa, która implementuje interfejs mapy. Rozszerza klasę AbstractMap i implementuje interfejs Map. HashMap zawiera klucz, pary wartości. Każdy element jest wyjątkowy. Łatwo jest znaleźć elementy w HashMap za pomocą klucza. Deklarowanie HashMap jest następujące.

public class HashMap rozszerza AbstractMap implementuje Map, Cloneable, Serializable

K odnosi się do klawisza, podczas gdy V odnosi się do wartości odpowiadającej temu konkretnemu klawiszowi. Każda para klucz, wartość jest wpisem w HashMap.

Różnica między HashMap a TreeMap
Różnica między HashMap a TreeMap

Rysunek 01: Interfejs mapy

Przyjmij następujący scenariusz, aby zrozumieć HaspMap. Jeśli tam programista chce przechowywać zestaw nazwisk uczniów i odpowiadających im numerów indeksów, może użyć HashMap. Nazwiska uczniów służą do znajdowania numerów indeksu. Dlatego nazwiska uczniów są kluczami, a numery indeksów są wartościami.

Różnica między HashMap a TreeMap _Rysunek 02
Różnica między HashMap a TreeMap _Rysunek 02

Rysunek 02: Program HashMap przy użyciu Java

Zgodnie z powyższym programem tworzony jest obiekt HashMap. Następnie programista może dodawać elementy za pomocą tego obiektu. Wartości można wstawiać za pomocą metody put. Aby pobrać wartości, programista powinien użyć metody get z kluczem. Podczas korzystania z StudentList.get(„150”); wypisze odpowiednią nazwę do tego indeksu, którym jest Ann. Jeśli programista chce uzyskać wszystkie wartości, może użyć Map. Entry, aby wydrukować wszystkie klucze i wartości. Obserwując wyjście można zauważyć, że HashMap nie zachowuje określonej kolejności. Nie drukuje elementów we wstawionej kolejności. Elementy drukowane są w losowej kolejności.

Co to jest mapa drzewa?

TreeMap to klasa w Javie, która implementuje interfejs Map. Podobnie jak HashMap, służy również do przechowywania par kluczy i wartości, ale w porządku rosnącym. TreeMap implementuje NavigableMap i NavigableMap rozszerza SortedMap i SortedMap rozszerza Map. Każdy element jest wyjątkowy. Deklarowanie TreeMap jest następujące.

public class TreeMap rozszerza AbstractMap implementuje NavigableMap, Cloneable, Serializable

K odnosi się do klawisza, podczas gdy V odnosi się do wartości odpowiadającej temu konkretnemu klawiszowi. Każda para klucz, wartość jest wpisem w TreeMap.

Kluczowa różnica między HashMap a TreeMap
Kluczowa różnica między HashMap a TreeMap

Rysunek 03: Program TreeMap przy użyciu Java

Zgodnie z powyższym programem tworzony jest obiekt TreeMap. Następnie programista może dodawać elementy za pomocą tego obiektu. Wartości można wstawiać za pomocą metody put. Aby pobrać wartości, programista powinien użyć metody get z kluczem. Podczas korzystania z StudentList.get(„150”); wypisze odpowiednią nazwę do tego indeksu, którym jest Ann. Jeśli programista chce uzyskać wszystkie wartości, może użyć Map. Entry, aby wydrukować wszystkie klucze i wartości. Obserwując dane wyjściowe można zauważyć, że TreeMap utrzymuje określoną kolejność. Elementy drukowane są w kolejności rosnącej.

Jakie są podobieństwa między HashMap a TreeMap?

  • Zarówno HashMap, jak i TreeMap implementują interfejs Map.
  • Zarówno HashMap, jak i TreeMap mogą przechowywać i manipulować wieloma elementami.
  • Zarówno HashMap, jak i TreeMap zawierają pary klucz-wartość.
  • Zarówno HashMap, jak i TreeMap mogą mieć wiele wartości null.
  • Nie ma ograniczeń co do liczby elementów, które mogą być przechowywane zarówno w HashMap, jak i TreeMap.

Jaka jest różnica między HashMap a TreeMap?

HashMap vs TreeMap

HashMap to klasa kolekcji oparta na mapie, która służy do przechowywania par kluczy i wartości, które nie zachowują określonej kolejności w elementach danych. TreeMap to klasa kolekcji oparta na mapie, która jest używana do przechowywania par kluczy i wartości, które zachowują rosnącą kolejność elementów danych.
Zamówienie
HashMap nie utrzymuje kolejności. Mapa drzewa zachowuje kolejność rosnącą.
Klawisz zerowy
HashMap może zawierać jeden klucz pusty. Mapa drzewa nie może mieć klucza pustego.
Wydajność
HashMap jest szybszy niż TreeMap. TreeMap jest wolniejszy niż HashMap.

Podsumowanie – HashMap vs TreeMap

Języki programowania, takie jak Java, zawierają strukturę kolekcji. W tablicach może istnieć stała liczba elementów. Dlatego rozmiar tablicy należy zainicjować na początku. W kolekcjach programista może przechowywać wiele elementów zgodnie z wymaganiami. Nie ma określonej kwoty do przechowywania. Mapa jest interfejsem należącym do frameworka kolekcji. HashMap to klasa kolekcji oparta na mapie, która służy do przechowywania par kluczy i wartości, które nie zachowują określonej kolejności w elementach danych. TreeMap to klasa kolekcji oparta na mapie, która służy do przechowywania par kluczy i wartości, która zachowuje rosnącą kolejność elementów danych. W tym artykule omówiono różnicę między HashMap a TreeMap, która implementuje interfejs Map. Różnica między HashMap i TreeMap polega na tym, że HashMap nie utrzymuje określonej kolejności elementów danych, podczas gdy TreeMap utrzymuje kolejność rosnącą elementów danych.

Zalecana: