Пример класса 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;Output:
public class Main {
public static void main(String args[]) {
// TreeSet типа String
TreeSettsetString = 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
TreeSettsetInteger = 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);
}
}
[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