TreeSet to klasa w Java, która implementuje interfejs Set i przechowuje elementy w porządku rosnącym. Jest to jedna z najważniejszych struktur danych dostępnych w Java Collections Framework. TreeSet wykorzystuje strukturę drzewa czerwono-czarnego do przechowywania elementów, co zapewnia efektywność operacji takich jak dodawanie, usuwanie i wyszukiwanie elementów. W tej lekcji przyjrzymy się, jak używać TreeSet w Java na przykładzie unikalnej listy nazw miast.
Przykład użycia TreeSet
Załóżmy, że chcemy stworzyć aplikację, która przechowuje listę unikalnych nazw miast, w które podróżowaliśmy. Użyjemy TreeSet do przechowania tych nazw, aby zapewnić, że będą one przechowywane w porządku alfabetycznym i bez duplikatów.
Klasa TravelDestinations
Najpierw utworzymy klasę TravelDestinations, która będzie zarządzać naszymi miastami.
import java.util.TreeSet;
public class TravelDestinations {
    private TreeSet<String> cities;
    public TravelDestinations() {
        cities = new TreeSet<>();
    }
    // Metoda do dodawania miasta
    public void addCity(String city) {
        cities.add(city);
    }
    // Metoda do wyświetlania miast
    public void displayCities() {
        for (String city : cities) {
            System.out.println(city);
        }
    }
}
Główna klasa aplikacji
Teraz utworzymy główną klasę aplikacji, która wykorzysta naszą klasę TravelDestinations do dodawania i wyświetlania nazw miast.
public class Main {
    public static void main(String[] args) {
        TravelDestinations destinations = new TravelDestinations();
        
        destinations.addCity("Warszawa");
        destinations.addCity("Kraków");
        destinations.addCity("Gdańsk");
        destinations.addCity("Wrocław");
        // Próba dodania duplikatu
        destinations.addCity("Kraków"); 
        System.out.println("Odwiedzone miasta:");
        destinations.displayCities();
    }
}
W tym przykładzie, próbujemy dodać miasto “Kraków” dwa razy, ale dzięki wykorzystaniu TreeSet, miasto to pojawi się na liście tylko raz.
Zalety TreeSet
- Unikalność: TreeSetautomatycznie usuwa duplikaty, dzięki czemu wszystkie elementy w zestawie są unikalne.
- Automatyczne sortowanie: Elementy są przechowywane w porządku rosnącym, co ułatwia ich przeglądanie i wyszukiwanie.
- Efektywność operacji: Operacje dodawania, usuwania i wyszukiwania są wykonywane efektywnie dzięki zastosowaniu drzewa czerwono-czarnego.
Podsumowanie
TreeSet jest potężnym narzędziem w Java Collections Framework, które pozwala na przechowywanie unikalnych elementów w uporządkowany sposób. Dzięki swoim właściwościom jest idealnym wyborem dla aplikacji, które wymagają szybkiego dostępu do posortowanych i unikalnych danych. W naszym przykładzie, wykorzystanie TreeSet do zarządzania listą odwiedzonych miast zapewnia, że lista ta jest zawsze uporządkowana i nie zawiera duplikatów, co znacznie ułatwia zarządzanie i prezentację danych.
Jeżeli chcesz przyśpieszyć swoją naukę tworzenia stron chciałbym polecić mój kurs video Java w którym nauczysz się tego języka od podstaw do zaawansowanych jego aspektów.
