Интерфейс SortedSet<E>
- Параметры типа:
-
E- тип элементов, поддерживаемых этим множеством
- Все суперинтерфейсы:
- Collection<E>, Iterable<E>, Set<E>
- Все известные подинтерфейсы:
- NavigableSet<E>
- Все известные реализующие классы:
- ConcurrentSkipListSet, TreeSet
public interface SortedSet<E> extends Set<E>
A Set that further provides a total ordering on its elements. The elements are ordered using their natural ordering, or by a Comparator typically provided at sorted set creation time. The set's iterator will traverse the set in ascending element order. Several additional operations are provided to take advantage of the ordering. (This interface is the set analogue of SortedMap.)
All elements inserted into a sorted set must implement the Comparable interface (or be accepted by the specified comparator). Furthermore, all such elements must be mutually comparable: e1.compareTo(e2) (or comparator.compare(e1, e2)) must not throw a ClassCastException for any elements e1 and e2 in the sorted set. Attempts to violate this restriction will cause the offending method or constructor invocation to throw a ClassCastException.
Note that the ordering maintained by a sorted set (whether or not an explicit comparator is provided) must be consistent with equals if the sorted set is to correctly implement the Set interface. (See the Comparable interface or Comparator interface for a precise definition of consistent with equals.) This is so because the Set interface is defined in terms of the equals operation, but a sorted set performs all element comparisons using its compareTo (or compare) method, so two elements that are deemed equal by this method are, from the standpoint of the sorted set, equal. The behavior of a sorted set is well-defined even if its ordering is inconsistent with equals; it just fails to obey the general contract of the Set interface.
All general-purpose sorted set implementation classes should provide four "standard" constructors: 1) A void (no arguments) constructor, which creates an empty sorted set sorted according to the natural ordering of its elements. 2) A constructor with a single argument of type Comparator, which creates an empty sorted set sorted according to the specified comparator. 3) A constructor with a single argument of type Collection, which creates a new sorted set with the same elements as its argument, sorted according to the natural ordering of the elements. 4) A constructor with a single argument of type SortedSet, which creates a new sorted set with the same elements and the same ordering as the input sorted set. There is no way to enforce this recommendation, as interfaces cannot contain constructors.
Note: several methods return subsets with restricted ranges. Such ranges are half-open, that is, they include their low endpoint but not their high endpoint (where applicable). If you need a closed range (which includes both endpoints), and the element type allows for calculation of the successor of a given value, merely request the subrange from lowEndpoint to successor(highEndpoint). For example, suppose that s is a sorted set of strings. The following idiom obtains a view containing all of the strings in s from low to high, inclusive:
SortedSet<String> sub = s.subSet(low, high+"\0");A similar technique can be used to generate an open range (which contains neither endpoint). The following idiom obtains a view containing all of the Strings in
s from low to high, exclusive:SortedSet<String> sub = s.subSet(low+"\0", high);
This interface is a member of the Java Collections Framework.
- Since:
- 1.2
- See Also:
-
Set,TreeSet,SortedMap,Collection,Comparable,Comparator,ClassCastException
Методы
| Модификатор и тип | Метод и описание |
|---|---|
Comparator<? super E> |
comparator() Возвращает компаратор, используемый для упорядочивания элементов в этом множестве, или |
E |
first() Возвращает первый (наименьший) элемент, который в данный момент находится в этом множестве. |
SortedSet<E> |
headSet(E toElement) Возвращает представление части этого множества, элементы которого строго меньше |
E |
last() Возвращает последний (наибольший) элемент, который в данный момент находится в этом множестве. |
default Spliterator<E> |
spliterator() Создаёт |
SortedSet<E> |
subSet(E fromElement,
E toElement) Возвращает представление части этого множества, элементы которого находятся в диапазоне от |
SortedSet<E> |
tailSet(E fromElement) Возвращает представление части этого множества, элементы которого больше или равны |
Методы, унаследованные от интерфейса java.util.Set
add, addAll, clear, contains, containsAll, equals, hashCode, isEmpty, iterator, remove, removeAll, retainAll, size, toArray, toArray Методы, унаследованные от интерфейса java.util.Collection
parallelStream, removeIf, stream Методы, унаследованные от интерфейса java.lang.Iterable
forEach Методы
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, 2020, 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.