Пример класса java.util.TreeSet

Параметр java.util.TreeSet java  аналогичен классу  HashSet за исключением сортировки элементов в порядке возрастания. Данные хранятся в TreeMap которое является сбалансированным двоичным деревом или в SorteMap.

Время доступа очень быстрое, что делает TreeSet отличный выбор, когда данные большие и их нужно быстро найти.

Параметр TreeSet реализует 4 конструктора:

- TreeSet(): создает пустой TreeSet.
- TreeSet(Collection c): создает TreeSet который содержит элементы из коллекции объектов c.
- TreeSet(Comparator comp): создает TreeSet пустой, который будет отсортирован в соответствии с comparator.
- TreeSet(SortedSet sset): Создает TreeSet, содержащий элементы sset.

TreeSet methods

void add(Object o)
Использует метод put() TreeMap, чтобы добавить pair.

void addAll(Collection c)
Добавляет набор элементов в список.

void remove(Object o)
Удаляет первый экземпляр из списка.

void clear()
Удаляет все элементы.

SortedSet subSet(Object E1, Object E2)
Возвращает подсписок элементов, лежащих между двумя границами [E1, E2].

SortedSet headSet(Object E)
Возвращает набор элементов, которые строго меньше E.

SortedSet tailSet(Object E)
Возвращает набор элементов, которые больше или равны E.

Object first()
Возвращает первый элемент в этом упорядоченном списке (самый маленький).

Object last()
Возвращает последний элемент в этом упорядоченном списке (самый большой).

Example

В этом примере мы протестируем два типа: String и Целое число. TreeSet  также может сортировать строки в соответствии с буквенно-цифровым кодом ASCII.

import java.util.TreeSet; 

public class Main {
public static void main(String args[]) {
// TreeSet типа String
TreeSet tsetString = new TreeSet();

// добавляем объекты типа String
tsetString.add("D");
tsetString.add("G");
tsetString.add("Z");
tsetString.add("A");
tsetString.add("F");
tsetString.add("T");
tsetString.add("S");
tsetString.add("M");

//display
System.out.println(tsetString);

// TreeSet типа Integer
TreeSet tsetInteger = new TreeSet();

// добавляем объекты типа Integer
tsetInteger.add(5);
tsetInteger.add(87);
tsetInteger.add(42);
tsetInteger.add(24);
tsetInteger.add(23);
tsetInteger.add(152);
tsetInteger.add(70);
tsetInteger.add(54);
System.out.println(tsetInteger);
}
}
Output:

[A, D, F, G, M, S, T, Z]
[5, 23, 24, 42, 54, 70, 87, 152]
Здесь мы видим, что оба списка содержат значения, отсортированные по порядку полумесяц.

Вы можете ознакомиться со следующими руководствами по коллекции объектов TreeSet:

Просмотр TreeSet с помощью Iterator
Добавление элемента в TreeSet
Удалить элемент из TreeSet
удалить все элементы из TreeSet
Разница между TreeSet и HashSet
Преобразование HashSet в TreeSet
Пример TreeSet с Comparable
Сортировка TreeSet в порядке убывания
Проверяем, существует ли элемент в TreeSet

References:
TutorialsPoint: java - TreeSet class
Javadoc: TreeSet