Spec-Zone .ru
спецификации, руководства, описания, API
|
K
- тип ключей сохраняется этой картойV
- тип отображенных значенийpublic interface SortedMap<K,V> extends Map<K,V>
Map
тот далее обеспечивает полное упорядочивание на его ключах. Карта упорядочивается согласно естественному упорядочиванию ее ключей, или a Comparator
обычно, если в сортированное время создания карты. Этот порядок отражается, выполняя итерации по представлениям набора сортированной карты (возвращенный entrySet
, keySet
и values
методы). Несколько дополнительных операций обеспечиваются, чтобы использовать в своих интересах упорядочивание. (Этот интерфейс является аналогом карты SortedSet
.) Все ключи, вставленные в сортированную карту, должны реализовать Comparable
интерфейс (или быть принятым указанным компаратором). Кроме того все такие ключи должны быть взаимно сопоставимыми: k1.compareTo(k2)
(или comparator.compare(k1, k2)
) не должен бросить a ClassCastException
для любых ключей k1
и k2
в сортированной карте. Попытки нарушить это ограничение заставят незаконный метод или вызов конструктора бросать a ClassCastException
.
Отметьте, что упорядочивание, сохраняемое сортированной картой (обеспечивается ли явный компаратор), должно быть непротиворечивым с, равняется, если сортированная карта должна правильно реализовать Map
интерфейс. (См. Comparable
интерфейс или Comparator
интерфейс для точного определения непротиворечивых с равняется.) Это так потому что Map
интерфейс определяется с точки зрения equals
работа, но сортированная карта выполняет все ключевые сравнения, используя compareTo
(или compare
) метод, таким образом, два ключа, которые считает равными этот метод, с точки зрения сортированной карты, равной. Поведение древовидной карты четко определено, даже если ее упорядочивание непоследовательно с, равняется; это только не в состоянии повиноваться общему контракту Map
интерфейс.
Все сортированные классы реализации карты общего назначения должны предоставить четырем "стандартным" конструкторам. Не возможно осуществить эту рекомендацию, хотя как требуется конструкторы не могут быть определены интерфейсами. Ожидаемые "стандартные" конструкторы для всех сортированных реализаций карты:
Comparator
, который создает пустую сортированную карту, сортированную согласно указанному компаратору.Map
, который создает новую карту с теми же самыми отображениями значения ключа как его параметр, сортированный согласно естественному упорядочиванию ключей.SortedMap
, который создает новую сортированную карту с теми же самыми отображениями значения ключа и тем же самым упорядочиванием как ввод сортированная карта.Отметьте: несколько методов возвращают подкарты с ограниченными диапазонами ключей. Такие диапазоны являются полуоткрытыми, то есть, они включают свою низкую конечную точку, но не свою высокую конечную точку (где применимый). Если Вы нуждаетесь в закрытом диапазоне (который включает обе конечных точки), и ключевой тип учитывает вычисление преемника данного ключа, просто запросите поддиапазон от lowEndpoint
к successor(highEndpoint)
. Например, предположите это m
карта, ключи которой являются строками. Следующая идиома получает представление, содержащее все отображения значения ключа в m
чьи ключи между low
и high
, включительно:
SortedMap<String, V> sub = m.subMap(low, high+"\0");Подобный метод может использоваться, чтобы генерировать открытый диапазон (который не содержит никакую конечную точку). Следующая идиома получает представление, содержащее все отображения значения ключа в
m
чьи ключи между low
и high
, монопольный:SortedMap<String, V> sub = m.subMap(low+"\0", high);
Этот интерфейс является элементом Платформы Наборов Java.
Map
, TreeMap
, SortedSet
, Comparator
, Comparable
, Collection
, ClassCastException
Модификатор и Тип | Метод и Описание |
---|---|
Comparator<? super K> |
comparator()
Возвращает компаратор, используемый, чтобы упорядочить ключи в этой карте, или
null если эта карта использует естественное упорядочивание своих ключей. |
Set<Map.Entry<K,V>> |
entrySet()
Возвраты a
Set представление отображений содержится в этой карте. |
K |
firstKey()
Возвращает первый (самый низкий) ключ в настоящий момент в этой карте.
|
SortedMap<K,V> |
headMap(K toKey)
Возвращает представление части этой карты, ключи которой являются строго меньше чем
toKey . |
Set<K> |
keySet()
Возвраты a
Set представление ключей содержится в этой карте. |
K |
lastKey()
Возвращает последний (самый высокий) ключ в настоящий момент в этой карте.
|
SortedMap<K,V> |
subMap(K fromKey, K toKey)
Возвращает представление части этой карты, ключи которой располагаются от
fromKey , включительно, к toKey , монопольный. |
SortedMap<K,V> |
tailMap(K fromKey)
Возвращает представление части этой карты, ключи которой больше чем или равны
fromKey . |
Collection<V> |
values()
Возвраты a
Collection представление значений содержится в этой карте. |
Comparator<? super K> comparator()
null
если эта карта использует естественное упорядочивание своих ключей.null
если эта карта использует естественное упорядочивание своих ключейSortedMap<K,V> subMap(K fromKey, K toKey)
fromKey
, включительно, к toKey
, монопольный. (Если fromKey
и toKey
равны, возвращенная карта пуста.) Возвращенная карта поддерживается этой картой, таким образом, изменения в возвращенной карте отражаются в этой карте, и наоборот. Возвращенная карта поддерживает все дополнительные операции карты, которые поддерживает эта карта. Возвращенная карта бросит IllegalArgumentException
на попытке вставить ключевую внешнюю сторону ее диапазон.
fromKey
- низкая конечная точка (включительно) ключей в возвращенной картеtoKey
- высокая конечная точка (монопольная) из ключей в возвращенной картеfromKey
, включительно, к toKey
, монопольныйClassCastException
- если fromKey
и toKey
не может быть по сравнению с друг другом, используя компаратор этой карты (или, если у карты нет никакого компаратора, используя естественное упорядочивание). Реализации, но не обязаны, может выдать это исключение если fromKey
или toKey
не может быть по сравнению с ключами в настоящий момент в карте.NullPointerException
- если fromKey
или toKey
нуль, и эта карта не разрешает нулевые ключиIllegalArgumentException
- если fromKey
больше чем toKey
; или если у этой самой карты есть ограниченный диапазон, и fromKey
или toKey
находится вне границ диапазонаSortedMap<K,V> headMap(K toKey)
toKey
. Возвращенная карта поддерживается этой картой, таким образом, изменения в возвращенной карте отражаются в этой карте, и наоборот. Возвращенная карта поддерживает все дополнительные операции карты, которые поддерживает эта карта. Возвращенная карта бросит IllegalArgumentException
на попытке вставить ключевую внешнюю сторону ее диапазон.
toKey
- высокая конечная точка (монопольная) из ключей в возвращенной картеtoKey
ClassCastException
- если toKey
не является совместимым с компаратором этой карты (или, если у карты нет никакого компаратора, если toKey
не реализует Comparable
). Реализации, но не обязаны, может выдать это исключение если toKey
не может быть по сравнению с ключами в настоящий момент в карте.NullPointerException
- если toKey
нуль, и эта карта не разрешает нулевые ключиIllegalArgumentException
- если у этой самой карты есть ограниченный диапазон, и toKey
находится вне границ диапазонаSortedMap<K,V> tailMap(K fromKey)
fromKey
. Возвращенная карта поддерживается этой картой, таким образом, изменения в возвращенной карте отражаются в этой карте, и наоборот. Возвращенная карта поддерживает все дополнительные операции карты, которые поддерживает эта карта. Возвращенная карта бросит IllegalArgumentException
на попытке вставить ключевую внешнюю сторону ее диапазон.
fromKey
- низкая конечная точка (включительно) ключей в возвращенной картеfromKey
ClassCastException
- если fromKey
не является совместимым с компаратором этой карты (или, если у карты нет никакого компаратора, если fromKey
не реализует Comparable
). Реализации, но не обязаны, может выдать это исключение если fromKey
не может быть по сравнению с ключами в настоящий момент в карте.NullPointerException
- если fromKey
нуль, и эта карта не разрешает нулевые ключиIllegalArgumentException
- если у этой самой карты есть ограниченный диапазон, и fromKey
находится вне границ диапазонаK firstKey()
NoSuchElementException
- если эта карта пустаK lastKey()
NoSuchElementException
- если эта карта пустаSet<K> keySet()
Set
представление ключей содержится в этой карте. iterator набора возвращает ключи в порядке по возрастанию. Набор поддерживается картой, так изменения к карте отражаются в наборе, и наоборот. Если карта изменяется, в то время как итерация по набору происходит (кроме через собственный iterator's remove
работа), результаты итерации неопределены. Набор поддерживает удаление элемента, которое удаляет соответствующее отображение из карты, через Iterator.remove
, Set.remove
, removeAll
, retainAll
, и clear
операции. Это не поддерживает add
или addAll
операции.Collection<V> values()
Collection
представление значений содержится в этой карте. iterator набора возвращает значения в порядке возрастания соответствующих ключей. Набор поддерживается картой, так изменения к карте отражаются в наборе, и наоборот. Если карта изменяется, в то время как итерация по набору происходит (кроме через собственный iterator's remove
работа), результаты итерации неопределены. Набор поддерживает удаление элемента, которое удаляет соответствующее отображение из карты, через Iterator.remove
, Collection.remove
, removeAll
, retainAll
и clear
операции. Это не поддерживает add
или addAll
операции.Set<Map.Entry<K,V>> entrySet()
Set
представление отображений содержится в этой карте. iterator набора возвращает записи в возрастающем ключевом порядке. Набор поддерживается картой, так изменения к карте отражаются в наборе, и наоборот. Если карта изменяется, в то время как итерация по набору происходит (кроме через собственный iterator's remove
работа, или через setValue
работа на записи карты, возвращенной iterator), результаты итерации неопределены. Набор поддерживает удаление элемента, которое удаляет соответствующее отображение из карты, через Iterator.remove
, Set.remove
, removeAll
, retainAll
и clear
операции. Это не поддерживает add
или addAll
операции.
Для дальнейшей ссылки API и документации разработчика, см.
Авторское право © 1993, 2011, Oracle и/или его филиалы. Все права защищены.