Що таке TreeSet в Java?
TreeSet у Java є реалізацією інтерфейсу Set, яка зберігає елементи у відсортованому порядку. Основою для його роботи є структура даних червоно-чорного дерева, яка забезпечує автоматичне сортування елементів.
Ця структура дозволяє виконувати операції додавання, видалення та пошуку елементів за логарифмічний час. Усі елементи, які додаються в TreeSet, повинні бути унікальними та сумісними для порівняння (реалізовувати інтерфейс Comparable або передаватися з об’єктом Comparator).
Варто зазначити, що TreeSet не дозволяє використовувати null як елемент, оскільки при додаванні чи порівнянні це викличе NullPointerException. Це відрізняє TreeSet від, наприклад, HashSet, який дозволяє один null.
- Підтримує автоматичне сортування елементів.
- Гарантує унікальність збережених даних.
- Дозволяє виконувати такі операції, як отримання першого, останнього елементів або елементів у діапазоні.
import java.util.TreeSet;
public class TreeSetExample {
public static void main(String[] args) {
TreeSet<Integer> numbers = new TreeSet<>();
// Додавання елементів
numbers.add(10);
numbers.add(5);
numbers.add(20);
// Автоматичне сортування
System.out.println("Елементи TreeSet: " + numbers);
// Отримання першого та останнього елементів
System.out.println("Перший елемент: " + numbers.first());
System.out.println("Останній елемент: " + numbers.last());
// Видалення елемента
numbers.remove(10);
System.out.println("Після видалення 10: " + numbers);
}
}