Клас TreeSet забезпечує втілення інтерфейсу Set, який використовує дерево для зберігання даних у порядку зростання.
Внаслідок цього доступ і пошук швидкі, що робить TreeSet чудовим вибором при зберіганні великої кількості упорядкованих даних, які потрібно швидко знаходити.
Конструктори TreeSet-
TreeSet() — створює порожнє дерево для упорядкування за зростанням відповідно до природного порядку елементів.
-
TreeSet(c) — створює набір дерев, що містить елементи колекції c.
-
TreeSet(c) — створює порожній набір дерев для упорядкування згідно з порівнювачем (Comparator) c.
-
TreeSet(s) — створює TreeSet, який містить елементи упорядкованої множини s (клас SortedSet).
Методи TreeSet
(додатково до методів, успадкованих від батьківських класів)-
add(o) — додає об'єкт o до набору, якщо його там немає.
-
addAll(c) — додає всі елементи колекції c до набору.
-
clear() — видаляє всі елементи цього набору.
-
clone() — повертає копію цього представника TreeSet.
-
comparator() — повертає використаний порівнювач (Comparator) або null, якщо цей набір використовує свої елементи природного упорядкування.
-
contains(o) — повертає true, якщо набір містить об'єкт o, інакше повертає false.
-
first() — повертає перший (найменший) елемент.
-
headSet(o) — повертає подання (клас SortedSet) частини цього набору, елементи якого строго менші від об'єкта o.
-
isEmpty() — повертає true, якщо набір не містить жодного елемента. Інакше повертає false.
-
iterator() — повертає ітератор (Iterator) над елементами набору.
-
last() — повертає останній (найбільший) елемент.
-
remove(o) — видаляє об'єкт o і повертає true, якщо такий елемент є. Інакше повертає false.
-
size() — повертає кількість (тип int) елементів.
-
subSet(j, k) — повертає подання (клас SortedSet) частини набору, елементи якого розташовані від об'єкт j, включно, до об'єкта k, виключно.
-
tailSet(o) — повертає подання (клас SortedSet) частини набору, елементи якого не менші від об'єкта о.
Див. приклад коду
package work;
import java.util.*;
public class Work
{ public static void main(String args[])
{ TreeSet h = new TreeSet();
System.out.println("Набір "+h+" містить "+h.size()+" елементів.");
h.add("xb");
h.add("xa");
h.add("xd");
h.add("xc");
System.out.println("Набір "+h+" містить "+h.size()+" елементи.");
System.out.println("Найменший елемент " + h.first());
System.out.println("Найбільший елемент " + h.last());
System.out.println("h.tailSet(\"xb\") " + h.tailSet("xb"));
System.out.println("h.subSet (\"xb\",\"xd\") " + h.subSet("xb","xd"));
h.remove("xb");
h.remove("xd");
h.remove("4");
System.out.println("Набір "+h+" містить "+h.size()+" елементи.");
if (h.contains("5")) {System.out.println("Містить \"5\"");}
else {System.out.println("Не містить \"5\"");}
if (h.contains("xa")) {System.out.println("Містить \"xa\"");}
else {System.out.println("Не містить \"xa\"");}
}
}
з таким виведенням
Набір [] містить 0 елементів.
Набір [xa, xb, xc, xd] містить 4 елементи.
Найменший елемент xa
Найбільший елемент xd
h.tailSet("xb") [xb, xc, xd]
h.subSet ("xb","xd") [xb, xc]
Набір [xa, xc] містить 2 елементи.
Не містить "5"
Містить "xa"