Spec-Zone.ru › OpenJDK 17

Интерфейс SortedMap<K,V>

Параметры типа:
K - тип ключей, поддерживаемых этой картой
V - тип сопоставленных значений
Все суперинтерфейсы:
Map<K,V>
Все известные подинтерфейсы:
ConcurrentNavigableMap<K,V>, NavigableMap<K,V>
Все известные реализующие классы:
ConcurrentSkipListMap, TreeMap
public interface SortedMap<K,V> extends Map<K,V>
A Map, который дополнительно предоставляет полный порядок на своих ключах. Карта упорядочена в соответствии с естественным порядком своих ключей или с помощью Comparator, обычно предоставляемого при создании отсортированной карты. Этот порядок отражается при итерации по коллекционным представлениям отсортированной карты (возвращаемым методами entrySet, keySet и values). Предоставляются несколько дополнительных операций для использования преимуществ упорядочивания. (Этот интерфейс является аналогом карты для SortedSet.)

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

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

Все классы реализаций отсортированных карт общего назначения должны предоставлять четыре «стандартных» конструктора. Однако принудительное применение этого правила не представляется возможным, так как требуемые конструкторы не могут быть указаны интерфейсами. Ожидаемые «стандартные» конструкторы для всех реализаций отсортированных карт:

  1. Конструктор без аргументов, создающий пустую отсортированную карту, отсортированную в соответствии с естественным порядком ключей.
  2. Конструктор с одним аргументом типа Comparator, который создаёт пустую отсортированную карту, отсортированную в соответствии с заданным компаратором.
  3. Конструктор с одним аргументом типа Map, который создает новую карту с теми же сопоставлениями ключ-значение, что и аргумент, отсортированную в соответствии с естественным порядком ключей.
  4. Конструктор с одним аргументом типа 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 Collections Framework.

Since:
1.2
См. также:
  • Map
  • TreeMap
  • SortedSet
  • Comparator
  • Comparable
  • Collection
  • ClassCastException

Краткое описание вложенных классов

Вложенные классы/интерфейсы, объявленные в интерфейсе java.util.Map

Map.Entry<K,V>

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

Модификатор и тип Метод Описание
Comparator<? super K> comparator()
Возвращает компаратор, используемый для упорядочивания ключей в этой карте, или null если эта карта использует естественный порядок своих ключей.
Set<Map.Entry<K,V>> entrySet()
Возвращает представление Set сопоставлений, содержащихся в этой карте.
K firstKey()
Возвращает первый (наименьший) ключ, который в данный момент находится в этой карте.
SortedMap<K,V> headMap(K toKey)
Возвращает представление части этой карты, ключи которой строго меньше toKey.
Set<K> keySet()
Возвращает Set представление ключей, содержащихся в этой карте.
K lastKey()
Возвращает последний (наибольший) ключ, который в данный момент находится в этой карте.
SortedMap<K,V> subMap(K fromKey, K toKey)
Возвращает представление части этой карты, ключи которой находятся в диапазоне от fromKey, включительно, до toKey, исключая верхнюю границу.
SortedMap<K,V> tailMap(K fromKey)
Возвращает представление части этой карты, ключи которой больше или равны fromKey.
Collection<V> values()
Возвращает Collection представление значений, содержащихся в этой карте.

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

clear, compute, computeIfAbsent, computeIfPresent, containsKey, containsValue, equals, forEach, get, getOrDefault, hashCode, isEmpty, merge, put, putAll, putIfAbsent, remove, remove, replace, replace, replaceAll, size

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

comparator

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

subMap

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 равно null, и это отображение не допускает null-ключей
IllegalArgumentException - если fromKey больше, чем toKey; или если само это отображение имеет ограниченный диапазон, и fromKey или toKey находится за пределами границ этого диапазона

headMap

SortedMap<K,V> headMap(K toKey)
Возвращает представление части этого отображения, ключи которого строго меньше toKey. Возвращаемое отображение поддерживается этим отображением, поэтому изменения в возвращаемом отображении отражаются в этом отображении и наоборот. Возвращаемое отображение поддерживает все необязательные операции отображения, которые поддерживает это отображение.

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

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

tailMap

SortedMap<K,V> tailMap(K fromKey)
Возвращает представление части этого отображения, ключи которого больше или равны fromKey. Возвращаемое отображение поддерживается этим отображением, поэтому изменения в возвращаемом отображении отражаются в этом отображении и наоборот. Возвращаемое отображение поддерживает все необязательные операции отображения, которые поддерживает это отображение.

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

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

firstKey

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

lastKey

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

keySet

Set<K> keySet()
Возвращает представление типа Set ключей, содержащихся в этом отображении. Итератор набора возвращает ключи в порядке возрастания. Набор поддерживается отображением, поэтому изменения в отображении отражаются в наборе и наоборот. Если отображение изменяется во время итерации по набору (за исключением операции итератора remove), результаты итерации не определены. Набор поддерживает удаление элементов, что удаляет соответствующее отображение из отображения, посредством операций Iterator.remove, Set.remove, removeAll, retainAll, и clear. Он не поддерживает операции add или addAll.
Определено в:
keySet в интерфейсе Map<K,V>
Возвращает:
представление набора ключей, содержащихся в этом отображении, отсортированное в порядке возрастания

values

Collection<V> values()
Возвращает представление типа Collection значений, содержащихся в этом отображении. Итератор коллекции возвращает значения в порядке возрастания соответствующих ключей. Коллекция поддерживается отображением, поэтому изменения в отображении отражаются в коллекции и наоборот. Если отображение изменяется во время итерации по коллекции (за исключением операции итератора remove), результаты итерации не определены. Коллекция поддерживает удаление элементов, что удаляет соответствующее отображение из отображения, посредством операций Iterator.remove, Collection.remove, removeAll, retainAll и clear. Она не поддерживает операции add или addAll.
Определено в:
values в интерфейсе Map<K,V>
Возвращает:
представление коллекции значений, содержащихся в этом отображении, отсортированное по возрастанию ключей

entrySet

Set<Map.Entry<K,V>> entrySet()
Возвращает представление типа Set отображений, содержащихся в этом отображении. Итератор набора возвращает отображения в порядке возрастания ключей. Набор поддерживается отображением, поэтому изменения в отображении отражаются в наборе и наоборот. Если отображение изменяется во время итерации по набору (за исключением операции итератора remove, или операции setValue на записи отображения, возвращенной итератором), результаты итерации не определены. Набор поддерживает удаление элементов, что удаляет соответствующее отображение из отображения, посредством операций Iterator.remove, Set.remove, removeAll, retainAll и clear. Он не поддерживает операции add или addAll.
Определено в:
entrySet в интерфейсе Map<K,V>
Возвращает:
представление набора отображений, содержащихся в этом отображении, отсортированное по возрастанию ключей

© 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/SortedMap.html

Spec-Zone.ru

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