Tablica służy do przechowywania zestawu elementów danych tego samego typu. Większość języków programowania obsługuje tablice. Mimo że tablica może przechowywać wiele wartości; istnieje poważna wada. Po utworzeniu tablicy nie można jej zmienić. Jeśli programista zadeklarował tablicę 10 elementów, nie może przechowywać 15 elementów. Gdy programista deklaruje tablicę 10 elementów i przechowuje tylko 5 elementów, reszta przydzielonej pamięci jest marnotrawstwem. Języki programowania, takie jak Java, mają kolekcje do dynamicznego przechowywania elementów danych. Istnieje wiele kolekcji. Kolekcje pomagają w dodawaniu, usuwaniu elementów i innych operacjach. Interfejs podstawowy jest znany jako Kolekcja. Set, List i Queue to niektóre interfejsy rozszerzające interfejs Collection. Mapa jest interfejsem hierarchii kolekcji, ale nie rozszerza interfejsu kolekcji. TreeSet to klasa implementująca interfejs Set i przechowująca elementy w porządku rosnącym. TreeMap to klasa, która implementuje interfejs Map i przechowuje pary kluczy, wartości w porządku rosnącym. To jest kluczowa różnica. W tym artykule omówiono różnicę między TreeSet a TreeMap.
1. Przegląd i kluczowa różnica
2. Co to jest TreeSet
3. Co to jest TreeMap
4. Podobieństwa między TreeSet i TreeMap
5. Porównanie obok siebie - TreeSet vs TreeMap w formie tabelarycznej
6. Podsumowanie
TreeSet to klasa implementująca interfejs Set. TreeSet zachowuje unikalne elementy. TreeSet implementuje interfejs NavigableSet. Interfejs nawigacyjny rozszerza interfejsy SortedSet, Set, Collection i Iterable w kolejności hierarchicznej. TreeSet przechowuje elementy w porządku rosnącym. Jeśli kolejność wstawiania to A, C, B, TreeSet zapisze je jako A, B, C. Istnieją metody TreeSet. Metoda add służy do dodawania elementu do zestawu. Metoda remove służy do usuwania określonego elementu. Do usunięcia wszystkich elementów służy metoda wyczyszczenia. Metoda zawiera zwraca wartość true, jeśli określony element jest obecny w zestawie. Są to niektóre metody dostarczane przez TreeSet. Zobacz poniższy program.
Rysunek 01: Program korzystający z TreeSet
Zgodnie z powyższym programem Treeset jest obiektem typu TreeSet. Może przechowywać ciągi znaków. Elementy są dodawane przy użyciu metody add. Kolejność wstawiania to A, C, D i B. Za pomocą iteratora zapisane wartości są drukowane na ekranie. Elementy są przechowywane w kolejności A, B, C, D. Dlatego TreeSet utrzymuje rosnącą kolejność elementów zestawu. Jeśli istnieje inny element jako „D”, nie zostanie wydrukowany, ponieważ element D już istnieje w zestawie. Zawsze przechowuje unikalne elementy.
TreeMap to klasa implementująca interfejs Map. Mapa obsługuje pary klucz-wartość. Każdy klucz, para wartości jest wpisem. Każdy klucz jest unikalny i ma odpowiednią wartość. Metoda zawiera klucz służy do znalezienia określonego klucza, a metoda zawiera klucz do znalezienia określonej wartości. Metoda get służy do znalezienia wartości odpowiadającej danemu kluczowi. Metoda put służy do przechowywania wartości z danym kluczem. Możliwe jest również usunięcie elementu pod określonym kluczem przy użyciu metody remove. Oto niektóre typowe metody interfejsu Map. Pomaga wyszukiwać, wstawiać i usuwać elementy na podstawie klucza. Klasa TreeMap implementuje NavigableMap. NavigableMap rozszerza SortedMap. SortedMap rozszerza mapę. Dlatego metody Map mogą być używane z TreeMap. Zobacz poniższy program.
Rysunek 02: Program korzystający z TreeMap
Zgodnie z powyższym programem tworzony jest obiekt TreeMap. Programista może dodawać elementy za pomocą obiektu. Metoda put służy do wstawiania par klucz-wartość. Metoda get jest używana z określonym kluczem do pobierania elementów. Programista może użyć Map.Entry do wydrukowania wszystkich kluczy i wartości. Obserwując dane wyjściowe, nie zachowuje wstawionej kolejności. Przechowuje elementy w porządku rosnącym.
TreeSet vs TreeMap | |
TreeSet to klasa implementująca interfejs Set i przechowująca elementy w porządku rosnącym. | TreeMap to klasa, która implementuje interfejs Map i przechowuje pary kluczy, wartości w porządku rosnącym. |
Wdrożony interfejs | |
TreeSet implementuje interfejs Set. | TreeMap implementuje interfejs Map. |
Tablica służy do przechowywania zestawu elementów, ale nie pomaga dynamicznie przechowywać elementów. Języki programowania, takie jak Java, zawierają kolekcje do dynamicznego przechowywania elementów danych. Kolekcja jest klasą podstawową w hierarchii kolekcji. Składa się z klas i interfejsów do wykonywania operacji takich jak dodawanie, usuwanie elementów. Set i Map to dwa interfejsy hierarchii kolekcji. TreeSet to klasa implementująca interfejs Set i przechowująca elementy w porządku rosnącym. TreeMap to klasa, która implementuje interfejs Map i przechowuje pary kluczy, wartości w porządku rosnącym. To jest różnica między TreeSet i TreeMap.
1. „TreeSet w Javie - javatpoint.” , Java Point. Dostępny tutaj
2. „TreeMap w Javie - javatpoint.”, Java Point. Dostępny tutaj