РЕПЕТИТОР математика физика информатика
Для школьников и студентов. Подтягивание пробелов. ЦЭ, ЦТ, ОГЭ, ЕГЭ.
Идет набор на ЛЕТО. Жмите для подробностей:)
438 of 1163 menu

Класс TreeSet

Класс TreeSet в Java - это коллекция, которая реализует интерфейс Set и хранит элементы в отсортированном порядке. В отличие от HashSet, который не гарантирует порядок элементов, TreeSet автоматически сортирует элементы при добавлении. Сортировка происходит либо в естественном порядке (если элементы реализуют интерфейс Comparable), либо с использованием компаратора Comparator, который можно передать в конструктор. Класс не допускает хранения null (при попытке добавить null будет выброшено исключение NullPointerException) и не содержит дубликатов.

Синтаксис

TreeSet<Тип> имя = new TreeSet<>(); TreeSet<Тип> имя = new TreeSet<>(Comparator);

Пример

Давайте создадим TreeSet и добавим в него несколько чисел в произвольном порядке:

import java.util.TreeSet; public class Main { public static void main(String[] args) { TreeSet<Integer> set = new TreeSet<>(); set.add(3); set.add(1); set.add(4); set.add(2); set.add(5); System.out.println(set); } }

Результат выполнения кода:

[1, 2, 3, 4, 5]

Как видите, элементы автоматически отсортировались по возрастанию, несмотря на то, что добавлялись в другом порядке.

Пример

Давайте проверим, что TreeSet не хранит дубликаты и хранит строки в алфавитном порядке:

import java.util.TreeSet; public class Main { public static void main(String[] args) { TreeSet<String> set = new TreeSet<>(); set.add("abcde"); set.add("12345"); set.add("abcde"); set.add("xyz"); System.out.println(set); } }

Результат выполнения кода:

[12345, abcde, xyz]

Пример

Давайте создадим TreeSet с компаратором для сортировки строк по убыванию:

import java.util.TreeSet; import java.util.Comparator; public class Main { public static void main(String[] args) { TreeSet<String> set = new TreeSet<>(Comparator.reverseOrder()); set.add("abcde"); set.add("12345"); set.add("xyz"); System.out.println(set); } }

Результат выполнения кода:

[xyz, abcde, 12345]

Смотрите также

  • метод add,
    который добавляет элемент в TreeSet
  • метод first,
    который возвращает первый (наименьший) элемент
  • метод last,
    который возвращает последний (наибольший) элемент
  • метод subSet,
    который возвращает подмножество элементов
Мы используем cookie для работы сайта, аналитики и персонализации. Обработка данных происходит согласно Политике конфиденциальности.
принять все настроить отклонить