Spec-Zone .ru
спецификации, руководства, описания, API
|
E
- тип элементов сохраняется этим наборомpublic interface SortedSet<E> extends Set<E>
Set
тот далее обеспечивает полное упорядочивание на его элементах. Элементы упорядочиваются, используя их естественное упорядочивание, или a Comparator
обычно, если в сортированное время создания набора. iterator набора пересечет набор в возрастающем порядке элемента. Несколько дополнительных операций обеспечиваются, чтобы использовать в своих интересах упорядочивание. (Этот интерфейс является аналогом набора SortedMap
.) Все элементы, вставленные в сортированный набор, должны реализовать интерфейс Comparable (или быть приняты указанным компаратором). Кроме того все такие элементы должны быть взаимно сопоставимыми: e1.compareTo(e2) (или comparator.compare(e1, e2)) не должен бросить ClassCastException для любых элементов e1 и e2 в сортированном наборе. Попытки нарушить это ограничение заставят незаконный метод или вызов конструктора бросать ClassCastException.
Отметьте, что упорядочивание, сохраняемое сортированным набором (обеспечивается ли явный компаратор), должно быть непротиворечивым с, равняется, если сортированный набор должен правильно реализовать интерфейс Set. (См., что Comparable взаимодействует через интерфейс, или интерфейс Comparator для точного определения непротиворечивых с равняется.) Это так, потому что интерфейс Set определяется с точки зрения работы equals, но сортированный набор выполняет все сравнения элемента, используя его compareTo (или compare) метод, таким образом, два элемента, которые считает равными этот метод, с точки зрения сортированного набора, равного. Поведение сортированного набора четко определено, даже если его упорядочивание непоследовательно с, равняется; это только не в состоянии повиноваться общему контракту интерфейса 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.
Set
, TreeSet
, SortedMap
, Collection
, Comparable
, Comparator
, ClassCastException
Модификатор и Тип | Метод и Описание |
---|---|
Comparator<? super E> |
comparator()
Возвращает компаратор, используемый, чтобы упорядочить элементы в этом наборе, или null, если этот набор использует естественное упорядочивание своих элементов.
|
E |
first()
Возвращает первый (самый низкий) элемент в настоящий момент в этом наборе.
|
SortedSet<E> |
headSet(E toElement)
Возвращает представление части этого набора, элементы которого являются строго меньше чем toElement.
|
E |
last()
Возвращает последний (самый высокий) элемент в настоящий момент в этом наборе.
|
SortedSet<E> |
subSet(E fromElement, E toElement)
Возвращает представление части этого набора, элементы которого колеблются от fromElement, включительно, к toElement, монопольному.
|
SortedSet<E> |
tailSet(E fromElement)
Возвращает представление части этого набора, элементы которого больше чем или равны fromElement.
|
Comparator<? super E> comparator()
SortedSet<E> subSet(E fromElement, E toElement)
Возвращенный набор бросит IllegalArgumentException на попытке вставить элемент вне его диапазона.
fromElement
- низкая конечная точка (включительно) возвращенного набораtoElement
- высокая конечная точка (монопольная) из возвращенного набораClassCastException
- если fromElement и toElement не могут быть по сравнению с друг другом, используя компаратор этого набора (или, если у набора нет никакого компаратора, используя естественное упорядочивание). Реализации, но не обязаны, может выдать это исключение, если fromElement или toElement не могут быть по сравнению с элементами в настоящий момент в наборе.NullPointerException
- если fromElement или toElement являются нулем, и этот набор не разрешает нулевые элементыIllegalArgumentException
- если fromElement больше чем toElement; или если у этого самого набора есть ограниченный диапазон, и fromElement или toElement находятся вне границ диапазонаSortedSet<E> headSet(E toElement)
Возвращенный набор бросит IllegalArgumentException на попытке вставить элемент вне его диапазона.
toElement
- высокая конечная точка (монопольная) из возвращенного набораClassCastException
- если toElement не является совместимым с компаратором этого набора (или, если у набора нет никакого компаратора, если toElement не реализует Comparable
). Реализации, но не обязаны, может выдать это исключение, если toElement не может быть по сравнению с элементами в настоящий момент в наборе.NullPointerException
- если toElement является нулем, и этот набор не разрешает нулевые элементыIllegalArgumentException
- если у этого самого набора есть ограниченный диапазон, и toElement находится вне границ диапазонаSortedSet<E> tailSet(E fromElement)
Возвращенный набор бросит IllegalArgumentException на попытке вставить элемент вне его диапазона.
fromElement
- низкая конечная точка (включительно) возвращенного набораClassCastException
- если fromElement не является совместимым с компаратором этого набора (или, если у набора нет никакого компаратора, если fromElement не реализует Comparable
). Реализации, но не обязаны, может выдать это исключение, если fromElement не может быть по сравнению с элементами в настоящий момент в наборе.NullPointerException
- если fromElement является нулем, и этот набор не разрешает нулевые элементыIllegalArgumentException
- если у этого самого набора есть ограниченный диапазон, и fromElement находится вне границ диапазонаE first()
NoSuchElementException
- если этот набор пустE last()
NoSuchElementException
- если этот набор пуст
Для дальнейшей ссылки API и документации разработчика, см.
Авторское право © 1993, 2011, Oracle и/или его филиалы. Все права защищены.