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, używają kolekcji. Jest to struktura z klasami i interfejsami do przechowywania i manipulowania zestawem elementów danych. W normalnej tablicy jest stała liczba elementów do przechowywania. To jest ograniczenie tablic. Zamiast tego programista może korzystać z kolekcji. Operacje takie jak wstawianie, usuwanie, sortowanie i wyszukiwanie można wykonywać przy użyciu kolekcji. 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 klucza i wartości, które nie zachowują określonej kolejności elementów danych. TreeMap to klasa kolekcji oparta na mapie, która służy do przechowywania par klucza i wartości, które zachowują rosnącą kolejność elementów danych. Kluczową różnicą między HashMap i TreeMap jest to, że HashMap nie utrzymuje określonej kolejności elementów danych, podczas gdy TreeMap zachowuje rosnącą kolejność elementów danych.
ZAWARTOŚĆ
1. Przegląd i kluczowe różnice
2. Co to jest HashMap
3. Co to jest TreeMap
4. Podobieństwa między HashMap a TreeMap
5. Porównanie obok siebie - HashMap vs TreeMap w formie tabelarycznej
6. Podsumowanie
Co to jest HashMap?
HashMap to klasa implementująca interfejs mapy. Rozszerza klasę AbstractMap i implementuje interfejs Map. HashMap zawiera pary klucz i wartość. Każdy element jest wyjątkowy. Za pomocą klucza łatwo jest znaleźć elementy w HashMap. Deklarowanie HashMap jest następujące.
public class HashMap rozszerza AbstractMap implementuje Map, Cloneable, Serializable
K odnosi się do klucza, a V do wartości odpowiadającej temu konkretnemu kluczowi. Każda para klucz, wartość jest wpisem w HashMap.
Rysunek 01: Interfejs mapy
Przyjmij następujący scenariusz, aby zrozumieć HaspMap. Jeśli programista chce tam 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 indeksowych. Dlatego nazwiska uczniów są kluczami, a numery indeksów wartościami.
Rysunek 02: Program HashMap wykorzystujący język 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ć metodą put. Aby pobrać wartości, programista powinien użyć metody get z kluczem. Podczas korzystania ze 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 do wydrukowania wszystkich kluczy i wartości. Obserwując wynik można zauważyć, że HashMap nie utrzymuje określonej kolejności. Nie drukuje elementów we wstawionej kolejności. Elementy drukowane są w przypadkowej kolejności.
Co to jest TreeMap?
TreeMap to klasa w Javie, która implementuje interfejs Map. Podobnie jak HashMap, służy również do przechowywania par klucza i wartości, ale w porządku rosnącym. TreeMap implementuje NavigableMap, a 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 klucza, a V do wartości odpowiadającej temu konkretnemu kluczowi. Każda para klucz, wartość jest wpisem TreeMap.
Rysunek 03: TreeMap Program w Javie
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ć metodą put. Aby pobrać wartości, programista powinien użyć metody get z kluczem. Podczas korzystania ze 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 do wydrukowania wszystkich kluczy i wartości. Obserwując wynik widać, że TreeMap zachowuje 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 można przechowywać zarówno w HashMap, jak i TreeMap.
Jaka jest różnica między HashMap a TreeMap?
Porównaj środek artykułu przed tabelą
HashMap vs TreeMap |
|
HashMap to klasa kolekcji oparta na mapie, która służy do przechowywania par klucza i wartości, które nie zachowują określonej kolejności elementów danych. | TreeMap to klasa kolekcji oparta na mapie, która służy do przechowywania par kluczy i wartości, która utrzymuje rosnącą kolejność elementów danych. |
Zamówienie | |
HashMap nie utrzymuje kolejności. | TreeMap zachowuje kolejność rosnącą. |
Null Key | |
HashMap może zawierać jeden pusty klucz. | TreeMap nie może mieć klucza o wartości null. |
Wydajność | |
HashMap jest szybszy niż TreeMap. | TreeMap jest wolniejsze niż HashMap. |
Podsumowanie - HashMap vs TreeMap
Języki programowania, takie jak Java, zawierają strukturę kolekcji. W tablicach może być ustalona 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 struktury kolekcji. HashMap to klasa kolekcji oparta na Mapach, która służy do przechowywania par klucza i wartości, które nie zachowują określonej kolejności elementów danych. TreeMap to klasa kolekcji oparta na mapie, która służy do przechowywania par kluczy i wartości, która utrzymuje rosnącą kolejność elementów danych. W tym artykule omówiono różnicę między HashMap i 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 zachowuje rosnącą kolejność elementów danych.