Treeset в Java
Класс TreeSet реализует интерфейс Set, поддерживаемый TreeMap. Он создает коллекцию, которая использует дерево для хранения. Объекты хранятся в отсортированном порядке по естественному порядку. Реализация TreeSet сортируется по лексикографическому порядку вставляемых строковых значений. По желанию мы можем изменить естественный порядок TreeSet, используя интерфейсы Comparable или Comparator. Кроме того, он содержит уникальные элементы, такие как HashSet. Если вам нужен отсортированный набор, необходимо использовать TreeSet.
TreeSet не может использоваться, когда наше приложение имеет требование о модификации набора с точки зрения частого добавления элементов. Потому что эта реализация не синхронизирована. Если несколько потоков обращаются к TreeSet одновременно, и хотя бы один из потоков изменяет TreeSet, он должен быть синхронизирован извне.
Следующая программа Java иллюстрирует несколько методов, поддерживаемых этой базой данных TreeSet
import Java.util.*;
class TestClass
{
public static void main (String[] args) throws Java.lang.Exception
{
// создаем объект TreeSet
TreeSet days=new TreeSet();
// добавление элементов в TreeSet
days.add("Sunday");
days.add("Monday");
days.add("Tuesday");
days.add("Wednesday");
days.add("Thursday");
days.add("Friday");
days.add("Saturday");
// Итерация через TreeSet
Iterator itr=days.iterator();
while(itr.hasNext()){
System.out.println(itr.next());
}
// удалить одну запись из TreeSet
days.remove("Monday");
System.out.println(days);
// поиск в TreeSet
if(days.contains("Saturday"))
System.out.println("Item Found");
else
System.out.println("Item Not Found");
// Удаление всех элементов из TreeSet
days.clear();
// Размер TreeSet
System.out.println("Size of the HashSet: "+days.size());
}
}
