Spec-Zone.ru › OpenJDK 17

Интерфейс SortedSet<E>

Параметры типа:
E - тип элементов, поддерживаемых этим множеством
Все суперинтерфейсы:
Collection<E>, Iterable<E>, Set<E>
Все известные подинтерфейсы:
NavigableSet<E>
Все известные реализующие классы:
ConcurrentSkipListSet, TreeSet
public interface SortedSet<E> extends Set<E>
A Set с дополнительным обеспечением полного упорядочения своих элементов. Элементы упорядочиваются с использованием их естественного порядка, или с помощью Comparator, обычно предоставляемого при создании упорядоченного набора. Итератор набора будет перебирать набор в порядке возрастания элементов. Предоставляется несколько дополнительных операций для использования упорядочения. (Этот интерфейс является аналогом множества SortedMap.)

Все элементы, вставленные в упорядоченное множество, должны реализовывать интерфейс Comparable (или приниматься указанным компаратором). Кроме того, все такие элементы должны быть взаимно сравнимыми: e1.compareTo(e2) (или comparator.compare(e1, e2)) не должен выбрасывать ClassCastException для любых элементов e1 и e2 в упорядоченном множестве. Попытки нарушения этого ограничения приведут к тому, что вызов соответствующего метода или конструктора бросит исключение ClassCastException.

Обратите внимание, что порядок, поддерживаемый упорядоченным множеством (предоставлен ли явный компаратор или нет), должен быть совместим с equals, если упорядоченное множество должно правильно реализовывать интерфейс Set. (См. интерфейс Comparable или интерфейс Comparator для точного определения совместимости с equals.) Это происходит потому, что интерфейс Set определен с точки зрения операции equals, но упорядоченное множество выполняет все сравнения элементов с помощью своего метода compareTo (или compare), поэтому два элемента, которые считаются равными этим методом, с точки зрения упорядоченного множества, равны. Поведение упорядоченного множества определено даже если его порядок несовместим с equals; он просто не соблюдает общие соглашения интерфейса Set.

Все классы реализации упорядоченных множеств общего назначения должны предоставлять четыре «стандартных» конструктора: 1) конструктор без аргументов, который создает пустое упорядоченное множество, упорядоченное в соответствии с естественным порядком своих элементов. 2) конструктор с одним аргументом типа Comparator, который создает пустое упорядоченное множество, упорядоченное в соответствии с заданным компаратором. 3) конструктор с одним аргументом типа Collection, который создает новое упорядоченное множество с теми же элементами, что и аргумент, упорядоченное по естественному порядку элементов. 4) конструктор с одним аргументом типа SortedSet, который создает новое упорядоченное множество с теми же элементами и тем же порядком, что и входное упорядоченное множество. Нет способа принудительно выполнить это рекомендацию, так как интерфейсы не могут содержать конструкторы.

Примечание: несколько методов возвращают подмножества с ограниченными диапазонами. Такие диапазоны полуоткрытые, то есть они включают свою нижнюю границу, но не верхнюю (где это применимо). Если вам нужен закрытый диапазон (который включает обе границы), и тип элемента позволяет рассчитать преемника данного значения, просто запросите поддиапазон от lowEndpoint до successor(highEndpoint). Например, предположим, что s — это упорядоченное множество строк. Следующий фрагмент кода получает представление, содержащее все строки в s от low до high, включительно:

   SortedSet<String> sub = s.subSet(low, high+"\0");
Аналогичный прием можно использовать для генерации открытого диапазона (который не содержит ни одной из границ). Следующий фрагмент кода получает представление, содержащее все строки в s от low до high, исключая их:
   SortedSet<String> sub = s.subSet(low+"\0", high);

Этот интерфейс является членом Java Collections Framework.

Since:
1.2
См. также:
  • Set
  • TreeSet
  • SortedMap
  • Collection
  • Comparable
  • Comparator
  • ClassCastException

Краткое описание методов

Модификатор и тип Метод Описание
Comparator<? super E> comparator()
Возвращает компаратор, используемый для упорядочения элементов в этом множестве, или null если это множество использует естественный порядок своих элементов.
E first()
Возвращает первый (наименьший) элемент, в настоящее время находящийся в этом множестве.
SortedSet<E> headSet(E toElement)
Возвращает представление части этого множества, элементы которого строго меньше toElement.
E last()
Возвращает последний (наибольший) элемент, в настоящее время находящийся в этом множестве.
default Spliterator<E> spliterator()
Создает итератор по элементам в этом упорядоченном множестве.
SortedSet<E> subSet(E fromElement, E toElement)
Возвращает представление части этого множества, элементы которого находятся в диапазоне от fromElement, включительно, до toElement, исключая верхнюю границу.
SortedSet<E> tailSet(E fromElement)
Возвращает представление части этого множества, элементы которого больше или равны fromElement.

Методы, объявленные в интерфейсе java.util.Collection

parallelStream, removeIf, stream, toArray

Методы, объявленные в интерфейсе java.lang.Iterable

forEach

Методы, объявленные в интерфейсе java.util.Set

add, addAll, clear, contains, containsAll, equals, hashCode, isEmpty, iterator, remove, removeAll, retainAll, size, toArray, toArray

Подробное описание методов

comparator

Comparator<? super E> comparator()
Возвращает компаратор, используемый для упорядочения элементов в этом множестве, или null , если это множество использует естественный порядок сортировки своих элементов.
Возвращает:
компаратор, используемый для упорядочения элементов в этом множестве, или null , если это множество использует естественный порядок сортировки элементов

subSet

SortedSet<E> subSet(E fromElement, E toElement)
Возвращает представление части этого множества, элементы которого находятся в диапазоне от fromElement, включительно, до toElement, не включительно. (Если fromElement и toElement равны, возвращаемое множество пусто.) Возвращаемое множество поддерживается этим множеством, поэтому изменения в возвращаемом множестве отражаются в этом множестве и наоборот. Возвращаемое множество поддерживает все необязательные операции множества, которые поддерживает это множество.

Возвращаемое множество будет выбрасывать IllegalArgumentException при попытке вставки элемента за пределами своего диапазона.

Параметры:
fromElement - нижняя граница (включительно) возвращаемого множества
toElement - верхняя граница (не включительно) возвращаемого множества
Возвращает:
представление части этого множества, элементы которого находятся в диапазоне от fromElement, включительно, до toElement, не включительно
Исключения:
ClassCastException - если fromElement и toElement нельзя сравнить друг с другом с помощью компаратора этого множества (или, если у множества нет компаратора, используя естественный порядок сортировки). Реализации могут, но не обязаны, выбрасывать это исключение, если fromElement или toElement нельзя сравнить с элементами, которые в настоящее время находятся в множестве.
NullPointerException - если fromElement или toElement равно null, а это множество не допускает null-элементы
IllegalArgumentException - если fromElement больше toElement; или если у этого множества есть ограниченный диапазон, и fromElement или toElement выходит за пределы границ диапазона

headSet

SortedSet<E> headSet(E toElement)
Возвращает представление части этого множества, элементы которого строго меньше toElement. Возвращаемое множество поддерживается этим множеством, поэтому изменения в возвращаемом множестве отражаются в этом множестве и наоборот. Возвращаемое множество поддерживает все необязательные операции множества, которые поддерживает это множество.

Возвращаемое множество будет выбрасывать IllegalArgumentException при попытке вставки элемента за пределами своего диапазона.

Параметры:
toElement - верхняя граница (не включительно) возвращаемого множества
Возвращает:
представление части этого множества, элементы которого строго меньше toElement
Исключения:
ClassCastException - если toElement несовместим с компаратором этого множества (или, если у множества нет компаратора, если toElement не реализует Comparable). Реализации могут, но не обязаны, выбрасывать это исключение, если toElement нельзя сравнить с элементами, которые в настоящее время находятся в множестве.
NullPointerException - если toElement равно null, а это множество не допускает null-элементы
IllegalArgumentException - если у этого множества есть ограниченный диапазон, и toElement выходит за пределы границ диапазона

tailSet

SortedSet<E> tailSet(E fromElement)
Возвращает представление части этого множества, элементы которого больше или равны fromElement. Возвращаемое множество поддерживается этим множеством, поэтому изменения в возвращаемом множестве отражаются в этом множестве и наоборот. Возвращаемое множество поддерживает все необязательные операции множества, которые поддерживает это множество.

Возвращаемое множество будет выбрасывать IllegalArgumentException при попытке вставки элемента за пределами своего диапазона.

Параметры:
fromElement - нижняя граница (включительно) возвращаемого множества
Возвращает:
представление части этого множества, элементы которого больше или равны fromElement
Исключения:
ClassCastException - если fromElement несовместим с компаратором этого множества (или, если у множества нет компаратора, если fromElement не реализует Comparable). Реализации могут, но не обязаны, выбрасывать это исключение, если fromElement нельзя сравнить с элементами, которые в настоящее время находятся в множестве.
NullPointerException - если fromElement равно null, а это множество не допускает null-элементы
IllegalArgumentException - если у этого множества есть ограниченный диапазон, и fromElement выходит за пределы границ диапазона

first

E first()
Возвращает первый (наименьший) элемент, который в настоящее время находится в этом множестве.
Возвращает:
первый (наименьший) элемент, который в настоящее время находится в этом множестве
Исключения:
NoSuchElementException - если это множество пусто

last

E last()
Возвращает последний (наибольший) элемент, который в настоящее время находится в этом множестве.
Возвращает:
последний (наибольший) элемент, который в настоящее время находится в этом множестве
Исключения:
NoSuchElementException - если это множество пусто

spliterator

default Spliterator<E> spliterator()
Создаёт итератор по элементам в этом отсортированном множестве.

Итератор сообщает о Spliterator.DISTINCT, Spliterator.SORTED и Spliterator.ORDERED. Реализации должны документировать сообщение об дополнительных характеристиках.

Компаратор итератора (см. Spliterator.getComparator()) должен быть null , если компаратор отсортированного множества (см. comparator()) равен null. В противном случае компаратор итератора должен быть таким же, как или налагать тот же общий порядок, что и компаратор отсортированного множества.

Определяет:
spliterator в интерфейсе Collection<E>
Определяет:
spliterator в интерфейсе Iterable<E>
Определяет:
spliterator в интерфейсе Set<E>
Требования реализации:
Базовая реализация создаёт отложенный итератор из Iterator отсортированного множества. Итератор наследует свойства быстрого отказа итератора множества. Компаратор итератора совпадает с компаратором отсортированного множества.

Созданный итератор дополнительно сообщает о Spliterator.SIZED.

Примечание реализации:
Созданный итератор дополнительно сообщает о Spliterator.SUBSIZED.
Возвращает:
итератор по элементам в этом отсортированном множестве
С:
1.8

© 1993, 2021, Oracle and/or its affiliates. All rights reserved.
Documentation extracted from Debian's OpenJDK Development Kit package.
Licensed under the GNU General Public License, version 2, with the Classpath Exception.
Various third party code in OpenJDK is licensed under different licenses (see Debian package).
Java and OpenJDK are trademarks or registered trademarks of Oracle and/or its affiliates.
https://docs.oracle.com/en/java/javase/17/docs/api/java.base/java/util/SortedSet.html

Spec-Zone.ru

Настройки Оффлайн Что нового Помощь О нас
Spec-Zone .ru
спецификации, руководства, описания, API