Рубрики

TreeSet в Java

TreeSet обеспечивает реализацию интерфейса SortedSet, а SortedSet расширяет интерфейс Set. Он ведет себя как простой набор, за исключением того, что он хранит элементы в отсортированном формате. Следующими являются функции TreeSet.

  • TreeSet использует древовидную структуру данных для хранения.
  • Объекты хранятся в отсортированном порядке возрастания. Но мы можем выполнять итерацию в порядке убывания, используя метод TreeSet.descendingIterator ().
  • Время доступа и поиска очень быстрое, что делает TreeSet отличным выбором для хранения большого объема данных в отсортированном формате.
  • TreeSet не использует методы hashCode () и equals () для сравнения своих элементов. Он использует метод compare () (или compareTo ()) для определения равенства двух элементов.

Важные методы класса treeset:

  • логическое добавление (E e): этот метод добавляет указанный элемент в этот набор, если он еще не существует.
  • E потолок (E e): этот метод возвращает наименьший элемент в этом наборе, больший или равный данному элементу, или ноль, если такого элемента нет.
  • boolean содержит (объект o): этот метод возвращает значение true, если этот набор содержит указанный элемент.
  • E floor (E e): этот метод возвращает наибольший элемент в этом наборе, меньший или равный данному элементу, или ноль, если такого элемента нет.
  • E pollFirst (): этот метод извлекает и удаляет первый (самый низкий) элемент или возвращает ноль, если этот набор пуст.
  • E pollLast (): этот метод извлекает и удаляет последний (самый высокий) элемент или возвращает ноль, если этот набор пуст.
  • boolean remove (Object o): Этот метод удаляет указанный элемент из этого набора, если он присутствует.

Ниже приведена очень простая реализация TreeSet, включающая в себя TreeSet — сортировку, итерацию в TreeSet, извлечение первого и последнего элемента и удаление элемента.

// Java-программа для демонстрации работающей коллекции TreeSet

import java.util.Iterator;

import java.util.TreeSet;

  

public class TreeSetExample

{

    public static void main(String[] args)

    {

        TreeSet<Integer> ts = new TreeSet<Integer>();

        ts.add(10);

        ts.add(61);

        ts.add(87);

        ts.add(39);

  

        Iterator<Integer> iterator = ts.iterator();

        System.out.print("Tree set data: ");

  

        // обратите внимание, что 87, являющийся самым большим элементом, появляется в

        // последний.

        while (iterator.hasNext())

            System.out.print(iterator.next() + " ");

        System.out.println();

  

        // чтобы проверить, пусто ли дерево или нет.

        if (ts.isEmpty())

            System.out.print("Tree Set is empty.");

        else

            System.out.println("Tree Set size: " + ts.size());

  

        // Получить самый маленький элемент из набора

        System.out.println("First data: " + ts.first());

  

        // Получить наибольшее значение из множества

        System.out.println("Last data: " + ts.last());

  

        // удалить 61 из набора.

        if (ts.remove(61))

            System.out.println("Data is removed from tree set");

        else

            System.out.println("Data doesn't exist!");

  

        System.out.print("Now the tree set contain: ");

        iterator = ts.iterator();

  

        // Отображение данных дерева

        while (iterator.hasNext())

            System.out.print(iterator.next() + " ");

  

        System.out.println();

        System.out.println("Now the size of tree set: " +

                           ts.size());

  

        // Удалить все

        ts.clear();

        if (ts.isEmpty())

            System.out.print("Tree Set is empty.");

        else

            System.out.println("Tree Set size: " + ts.size());

    }

}

Выход:

 Набор данных дерева: 10 39 61 87 
Размер дерева: 4
Первые данные: 10
Последние данные: 87
Данные удаляются из набора деревьев
Теперь дерево содержит: 10 39 87 
Теперь размер дерева установлен: 3
Набор деревьев пуст. 

Пожалуйста, обратитесь к TreeSet в Java с примерами для более подробной информации.

Эта статья предоставлена Rishabh Mahrsee. Пожалуйста, напишите комментарии, если вы обнаружите что-то неправильное, или вы хотите поделиться дополнительной информацией по обсуждаемой теме

Рекомендуемые посты:

TreeSet в Java

0.00 (0%) 0 votes