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()); } }