Что такое 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);
}
}