Класс ConcurrentSkipListMap<K,V>
- java.lang.Object
-
- java.util.AbstractMap<K,V>
-
- java.util.concurrent.ConcurrentSkipListMap<K,V>
- Type Parameters:
-
K- тип ключей, поддерживаемых этой картой -
V- тип сопоставленных значений
- Все реализованные интерфейсы:
- Serializable, Cloneable, ConcurrentMap<K,V>, ConcurrentNavigableMap<K,V>, Map<K,V>, NavigableMap<K,V>, SortedMap<K,V>
public class ConcurrentSkipListMap<K,V> extends AbstractMap<K,V> implements ConcurrentNavigableMap<K,V>, Cloneable, Serializable
Масштабируемая конкурентная реализация ConcurrentNavigableMap. Карта отсортирована в соответствии с естественным порядком своих ключей или с помощью Comparator, предоставленного во время создания карты, в зависимости от используемого конструктора.
Этот класс реализует конкурентную версию списков с пропусками, обеспечивая ожидаемое среднее время выполнения log(n) для операций containsKey, get, put и remove и их вариантов. Вставки, удаления, обновления и операции доступа безопасно выполняются параллельно несколькими потоками.
Итераторы и разделители являются слабо согласованными.
Сортированные по возрастанию ключей представления и их итераторы быстрее, чем убывающие.
Все Map.Entry пары, возвращаемые методами в этом классе и его представлениях, представляют собой моментальные снимки отображений на момент их создания. Они не поддерживают метод Entry.setValue. (Обратите внимание, однако, что изменить отображения в связанной карте можно с помощью put, putIfAbsent, или replace, в зависимости от требуемого эффекта.)
Обратите внимание, что, в отличие от большинства коллекций, метод size не является операцией с постоянным временем. Из-за асинхронной природы этих карт определение текущего числа элементов требует обхода элементов, и поэтому может сообщать неточные результаты, если эта коллекция изменяется во время обхода. Кроме того, массовые операции putAll, equals, toArray, containsValue, и clear не гарантируются для выполнения атомарно. Например, итератор, работающий параллельно с операцией putAll, может увидеть только часть добавленных элементов.
Этот класс и его представления и итераторы реализуют все необязательные методы интерфейсов Map и Iterator. Как и большинство других конкурентных коллекций, этот класс не допускает использование ключей или значений null, поскольку некоторые возвращаемые значения null не могут быть надёжно отличимы от отсутствия элементов.
Этот класс является частью Java Collections Framework.
- Since:
- 1.6
- См. также:
- Сериализованная форма
Вложенные классы
Вложенные классы/интерфейсы, унаследованные от класса java.util.AbstractMap
AbstractMap.SimpleEntry<K,V>, AbstractMap.SimpleImmutableEntry<K,V> Вложенные классы/интерфейсы, унаследованные от интерфейса java.util.Map
Map.Entry<K,V> Конструкторы
| Конструктор и описание |
|---|
ConcurrentSkipListMap() Создаёт новую, пустую карту, отсортированную в соответствии с естественным порядком ключей. |
ConcurrentSkipListMap(Comparator<? super K> comparator) Создаёт новую, пустую карту, отсортированную в соответствии с указанным компаратором. |
ConcurrentSkipListMap(Map<? extends K,? extends V> m) Создаёт новую карту, содержащую те же отображения, что и заданная карта, отсортированную в соответствии с естественным порядком ключей. |
ConcurrentSkipListMap(SortedMap<K,? extends V> m) Создаёт новую карту, содержащую те же отображения и использующую тот же порядок, что и указанная отсортированная карта. |
Методы
| Модификатор и тип | Метод и описание |
|---|---|
Map.Entry<K,V> |
ceilingEntry(K key) Возвращает отображение ключ-значение, связанное с наименьшим ключом, больше или равным заданному ключу, или |
K |
ceilingKey(K key) Возвращает наименьший ключ, больший или равный заданному ключу, или |
void |
clear() Удаляет все отображения из этого отображения. |
ConcurrentSkipListMap<K,V> |
clone() Возвращает неглубокую копию этого экземпляра |
Comparator<? super K> |
comparator() Возвращает компаратор, используемый для упорядочивания ключей в этом отображении, или |
V |
compute(K key,
BiFunction<? super K,? super V,? extends V> remappingFunction) Попытка вычислить отображение для указанного ключа и его текущего сопоставленного значения (или |
V |
computeIfAbsent(K key,
Function<? super K,? extends V> mappingFunction) Если указанный ключ еще не связан со значением, пытается вычислить его значение с помощью заданной функции отображения и вводит его в это отображение, если |
V |
computeIfPresent(K key,
BiFunction<? super K,? super V,? extends V> remappingFunction) Если значение для указанного ключа присутствует, пытается вычислить новое отображение, заданное ключом и его текущим сопоставленным значением. |
boolean |
containsKey(Object key) Возвращает |
boolean |
containsValue(Object value) Возвращает |
NavigableSet<K> |
descendingKeySet() Возвращает отображение в обратном порядке |
ConcurrentNavigableMap<K,V> |
descendingMap() Возвращает отображение в обратном порядке сопоставлений, содержащихся в этом отображении. |
Set<Map.Entry<K,V>> |
entrySet() Возвращает |
boolean |
equals(Object o) Сравнивает указанный объект с этим отображением на равенство. |
Map.Entry<K,V> |
firstEntry() Возвращает отображение ключ-значение, связанное с наименьшим ключом в этом отображении, или |
K |
firstKey() Возвращает первый (наименьший) ключ, присутствующий в этом отображении. |
Map.Entry<K,V> |
floorEntry(K key) Возвращает отображение ключ-значение, связанное с наибольшим ключом, меньшим или равным заданному ключу, или |
K |
floorKey(K key) Возвращает наибольший ключ, меньший или равный заданному ключу, или |
void |
forEach(BiConsumer<? super K,? super V> action) Выполняет заданное действие для каждой записи в этом отображении до тех пор, пока все записи не будут обработаны или действие не выбросит исключение. |
V |
get(Object key) Возвращает значение, которому соответствует указанный ключ, или |
V |
getOrDefault(Object key,
V defaultValue) Возвращает значение, которому соответствует указанный ключ, или заданное значение по умолчанию, если это отображение не содержит сопоставления для ключа. |
ConcurrentNavigableMap<K,V> |
headMap(K toKey) Возвращает представление части этого отображения, ключи которого строго меньше |
ConcurrentNavigableMap<K,V> |
headMap(K toKey,
boolean inclusive) Возвращает представление части этого отображения, ключи которого меньше (или равны, если |
Map.Entry<K,V> |
higherEntry(K key) Возвращает отображение ключ-значение, связанное с наименьшим ключом, строго большим, чем заданный ключ, или |
K |
higherKey(K key) Возвращает наименьший ключ, строго больший, чем заданный ключ, или |
boolean |
isEmpty() Возвращает |
NavigableSet<K> |
keySet() Возвращает |
Map.Entry<K,V> |
lastEntry() Возвращает отображение ключ-значение, связанное с наибольшим ключом в этом отображении, или |
K |
lastKey() Возвращает последний (наибольший) ключ, присутствующий в этом отображении. |
Map.Entry<K,V> |
lowerEntry(K key) Возвращает отображение ключ-значение, связанное с наибольшим ключом, строго меньшим, чем заданный ключ, или |
K |
lowerKey(K key) Возвращает наибольший ключ, строго меньший, чем заданный ключ, или |
V |
merge(K key,
V value,
BiFunction<? super V,? super V,? extends V> remappingFunction) Если указанный ключ еще не связан со значением, связывает его со значением. |
NavigableSet<K> |
navigableKeySet() Возвращает |
Map.Entry<K,V> |
pollFirstEntry() Удаляет и возвращает отображение ключ-значение, связанное с наименьшим ключом в этом отображении, или |
Map.Entry<K,V> |
pollLastEntry() Удаляет и возвращает отображение ключ-значение, связанное с наибольшим ключом в этом отображении, или |
V |
put(K key,
V value) Связывает указанное значение с указанным ключом в этом отображении. |
V |
putIfAbsent(K key,
V value) Если указанный ключ еще не связан со значением, связывает его с заданным значением. |
V |
remove(Object key) Удаляет отображение для указанного ключа из этого отображения, если оно присутствует. |
boolean |
remove(Object key,
Object value) Удаляет запись для ключа только в том случае, если она в данный момент сопоставлена с заданным значением. |
V |
replace(K key,
V value) Заменяет значение записи для ключа только в том случае, если она в данный момент сопоставлена с каким-либо значением. |
boolean |
replace(K key,
V oldValue,
V newValue) Заменяет значение записи для ключа только в том случае, если оно в данный момент сопоставлено с заданным значением. |
void |
replaceAll(BiFunction<? super K,? super V,? extends V> function) Заменяет значение каждой записи результатом вызова заданной функции для этой записи до тех пор, пока все записи не будут обработаны или функция не выбросит исключение. |
int |
size() Возвращает количество отображений ключ-значение в этом отображении. |
ConcurrentNavigableMap<K,V> |
subMap(K fromKey,
boolean fromInclusive,
K toKey,
boolean toInclusive) Возвращает представление части этого отображения, ключи которого находятся в диапазоне от |
ConcurrentNavigableMap<K,V> |
subMap(K fromKey,
K toKey) Возвращает представление части этого отображения, ключи которого находятся в диапазоне от |
ConcurrentNavigableMap<K,V> |
tailMap(K fromKey) Возвращает представление части этого отображения, ключи которого больше или равны |
ConcurrentNavigableMap<K,V> |
tailMap(K fromKey,
boolean inclusive) Возвращает представление части этого отображения, ключи которого больше (или равны, если |
Collection<V> |
values() Возвращает |
Методы, унаследованные от класса java.util.AbstractMap
hashCode, putAll, toString Методы, унаследованные от класса java.lang.Object
finalize, getClass, notify, notifyAll, wait, wait, wait Методы, унаследованные от интерфейса java.util.Map
hashCode, putAll Конструкторы
ConcurrentSkipListMap
public ConcurrentSkipListMap()
Конструирует новую, пустую карту, отсортированную в соответствии с естественным порядком ключей.
ConcurrentSkipListMap
public ConcurrentSkipListMap(Comparator<? super K> comparator)
Конструирует новую, пустую карту, отсортированную в соответствии с указанным компаратором.
- Параметры:
-
comparator- компаратор, который будет использоваться для упорядочивания этой карты. Еслиnull, будет использоваться естественный порядок ключей.
ConcurrentSkipListMap
public ConcurrentSkipListMap(Map<? extends K,? extends V> m)
Конструирует новую карту, содержащую те же отображения, что и заданная карта, отсортированная в соответствии с естественным порядком ключей.
- Параметры:
-
m- карта, чьи отображения должны быть помещены в эту карту - Исключения:
-
ClassCastException- если ключи вmнеComparable, или не являются взаимно сравнимыми -
NullPointerException- если указанная карта или любой из её ключей или значений является null
ConcurrentSkipListMap
public ConcurrentSkipListMap(SortedMap<K,? extends V> m)
Конструирует новую карту, содержащую те же отображения и использующую тот же порядок, что и указанная отсортированная карта.
- Параметры:
-
m- отсортированная карта, чьи отображения должны быть помещены в эту карту, и чей компаратор должен использоваться для сортировки этой карты - Исключения:
-
NullPointerException- если указанная отсортированная карта или любой из её ключей или значений является null
Методы
clone
public ConcurrentSkipListMap<K,V> clone()
Возвращает неглубокую копию этого экземпляра ConcurrentSkipListMap. (Сами ключи и значения не клонируются.)
- Переопределяет:
-
cloneв классеAbstractMap<K,V> - Возвращает:
- неглубокую копию этой карты
- См. также:
Cloneable
containsKey
public boolean containsKey(Object key)
Возвращает true, если эта карта содержит отображение для указанного ключа.
- Указано в:
-
containsKeyв интерфейсеMap<K,V> - Переопределяет:
-
containsKeyв классеAbstractMap<K,V> - Параметры:
-
key- ключ, наличие которого в этой карте должно быть проверено - Возвращает:
-
trueесли эта карта содержит отображение для указанного ключа - Исключения:
-
ClassCastException- если указанный ключ не может быть сравнен с ключами, которые в данный момент находятся в карте -
NullPointerException- если указанный ключ равен null
get
public V get(Object key)
Возвращает значение, с которым сопоставлен указанный ключ, или null, если эта карта не содержит сопоставления для ключа.
Более формально, если эта карта содержит сопоставление из ключа k в значение v, такое что key сравнивается как равное k согласно порядку карты, то этот метод возвращает v; в противном случае он возвращает null. (Может быть не более одного такого сопоставления.)
- Указано в:
-
getв интерфейсеMap<K,V> - Переопределяет:
-
getв классеAbstractMap<K,V> - Параметры:
-
key- ключ, связанное с которым значение должно быть возвращено - Возвращает:
- значение, с которым сопоставлен указанный ключ, или
null, если эта карта не содержит сопоставления для ключа - Исключения:
-
ClassCastException- если указанный ключ не может быть сравнен с ключами, которые в данный момент находятся в карте -
NullPointerException- если указанный ключ равен null
getOrDefault
public V getOrDefault(Object key,
V defaultValue) Возвращает значение, с которым сопоставлен указанный ключ, или заданное defaultValue, если эта карта не содержит сопоставления для ключа.
- Указано в:
-
getOrDefaultв интерфейсеConcurrentMap<K,V> - Указано в:
-
getOrDefaultв интерфейсеMap<K,V> - Параметры:
-
key- ключ -
defaultValue- значение, которое нужно вернуть, если эта карта не содержит сопоставления для данного ключа - Возвращает:
- сопоставление для ключа, если оно присутствует; иначе defaultValue
- Исключения:
-
NullPointerException- если указанный ключ равен null - С версии:
- 1.8
put
public V put(K key,
V value) Сопоставляет указанное значение с указанным ключом в этой карте. Если карта ранее содержала сопоставление для ключа, старое значение заменяется.
- Указано в:
-
putв интерфейсеMap<K,V> - Переопределяет:
-
putв классеAbstractMap<K,V> - Параметры:
-
key- ключ, с которым должно быть связано указанное значение -
value- значение, которое должно быть связано с указанным ключом - Возвращает:
- предыдущее значение, связанное с указанным ключом, или
null, если для ключа не было сопоставления - Исключения:
-
ClassCastException- если указанный ключ не может быть сравнен с ключами, которые в данный момент находятся в карте -
NullPointerException- если указанный ключ или значение равен null
remove
public V remove(Object key)
Удаляет сопоставление для указанного ключа из этой карты, если оно присутствует.
- Указано в:
-
removeв интерфейсеMap<K,V> - Переопределяет:
-
removeв классеAbstractMap<K,V> - Параметры:
-
key- ключ, для которого должно быть удалено сопоставление - Возвращает:
- предыдущее значение, связанное с указанным ключом, или
null, если для ключа не было сопоставления - Исключения:
-
ClassCastException- если указанный ключ не может быть сравнен с ключами, которые в данный момент находятся в карте -
NullPointerException- если указанный ключ равен null
containsValue
public boolean containsValue(Object value)
Возвращает true, если эта карта сопоставляет один или несколько ключей с указанным значением. Эта операция требует времени, линейно зависящего от размера карты. Кроме того, возможно изменение карты во время выполнения этого метода, в этом случае возвращаемый результат может быть неточным.
- Указано в:
-
containsValueв интерфейсеMap<K,V> - Переопределяет:
-
containsValueв классеAbstractMap<K,V> - Параметры:
-
value- значение, наличие которого в этой карте должно быть проверено - Возвращает:
-
trueесли существует сопоставление сvalue;falseв противном случае - Исключения:
-
NullPointerException- если указанное значение равно null
size
public int size()
Возвращает количество сопоставлений ключ-значение в этой карте. Если эта карта содержит более Integer.MAX_VALUE элементов, она возвращает Integer.MAX_VALUE.
Обратите внимание, что в отличие от большинства коллекций, этот метод НЕ является операцией с постоянным временем. Из-за асинхронной природы этих карт определение текущего количества элементов требует их полного обхода для подсчета. Кроме того, возможно изменение размера во время выполнения этого метода, в этом случае возвращаемый результат будет неточным. Таким образом, этот метод обычно не очень полезен в многопоточных приложениях.
- Указано в:
-
sizeв интерфейсеMap<K,V> - Переопределяет:
-
sizeв классеAbstractMap<K,V> - Возвращает:
- количество элементов в этой карте
isEmpty
public boolean isEmpty()
Возвращает true, если эта карта не содержит сопоставлений ключ-значение.
- Указано в:
-
isEmptyв интерфейсеMap<K,V> - Переопределяет:
-
isEmptyв классеAbstractMap<K,V> - Возвращает:
-
trueесли эта карта не содержит сопоставлений ключ-значение
clear
public void clear()
Удаляет все сопоставления из этой карты.
computeIfAbsent
public V computeIfAbsent(K key,
Function<? super K,? extends V> mappingFunction) Если указанный ключ еще не связан со значением, пытается вычислить его значение, используя заданную функцию сопоставления, и вводит его в эту карту, если только null. Не гарантируется, что функция будет применена атомарно только один раз, если значение отсутствует.
- Указано в:
-
computeIfAbsentв интерфейсеConcurrentMap<K,V> - Указано в:
-
computeIfAbsentв интерфейсеMap<K,V> - Параметры:
-
key- ключ, с которым должно быть связано указанное значение -
mappingFunction- функция для вычисления значения - Возвращает:
- текущее (существующее или вычисленное) значение, связанное с указанным ключом, или null, если вычисленное значение равно null
- Исключения:
-
NullPointerException- если указанный ключ равен null или mappingFunction равен null - С версии:
- 1.8
computeIfPresent
public V computeIfPresent(K key,
BiFunction<? super K,? super V,? extends V> remappingFunction) Если значение для указанного ключа присутствует, пытается вычислить новое отображение, учитывая ключ и его текущее сопоставленное значение. Не гарантируется, что функция будет применена атомарно только один раз.
- Указано в:
-
computeIfPresentв интерфейсеConcurrentMap<K,V> - Указано в:
-
computeIfPresentв интерфейсеMap<K,V> - Параметры:
-
key- ключ, с которым может быть связано значение -
remappingFunction- функция для вычисления значения - Возвращает:
- новое значение, связанное с указанным ключом, или null, если такового нет
- Исключения:
-
NullPointerException- если указанный ключ равен null или remappingFunction равен null - С версии:
- 1.8
compute
public V compute(K key,
BiFunction<? super K,? super V,? extends V> remappingFunction) Попытка вычислить отображение для указанного ключа и его текущего сопоставленного значения (или null если текущего отображения нет). Функция не гарантируется, что будет применена атомарно.
- Определено в:
-
computeв интерфейсеConcurrentMap<K,V> - Определено в:
-
computeв интерфейсеMap<K,V> - Параметры:
-
key- ключ, с которым должно быть связано указанное значение -
remappingFunction- функция для вычисления значения - Возвращает:
- новое значение, связанное с указанным ключом, или null, если такого нет
- Исключения:
-
NullPointerException- если указанный ключ null или remappingFunction null - С:
- 1.8
merge
public V merge(K key,
V value,
BiFunction<? super V,? super V,? extends V> remappingFunction) Если указанный ключ еще не связан со значением, связывает его с заданным значением. В противном случае заменяет значение результатом заданной функции переназначения или удаляет, если null. Функция не гарантируется, что будет применена атомарно.
- Определено в:
-
mergeв интерфейсеConcurrentMap<K,V> - Определено в:
-
mergeв интерфейсеMap<K,V> - Параметры:
-
key- ключ, с которым должно быть связано указанное значение -
value- значение для использования в случае отсутствия -
remappingFunction- функция для повторного вычисления значения, если оно присутствует - Возвращает:
- новое значение, связанное с указанным ключом, или null, если такого нет
- Исключения:
-
NullPointerException- если указанный ключ или значение null или remappingFunction null - С:
- 1.8
keySet
public NavigableSet<K> keySet()
Возвращает представление NavigableSet ключей, содержащихся в этой карте.
Итератор множества возвращает ключи в порядке возрастания. Разделитель множества дополнительно сообщает о Spliterator.CONCURRENT, Spliterator.NONNULL, Spliterator.SORTED и Spliterator.ORDERED, с порядком встреч, который является порядком возрастания ключей. Сравниватель разделителя (см. Spliterator.getComparator()) — null если сравнитель карты (см. comparator()) — null. В противном случае сравнитель разделителя такой же, как или накладывает такое же полное упорядочение, как и сравнитель карты.
Множество поддерживается картой, поэтому изменения в карте отражаются в множестве и наоборот. Множество поддерживает удаление элементов, что удаляет соответствующее отображение из карты, посредством операций Iterator.remove, Set.remove, removeAll, retainAll, и clear. Оно не поддерживает операции add или addAll.
Итераторы и разделители представления являются слабо согласованными.
Этот метод эквивалентен методу navigableKeySet.
- Определено в:
-
keySetв интерфейсеConcurrentNavigableMap<K,V> - Определено в:
-
keySetв интерфейсеMap<K,V> - Определено в:
-
keySetв интерфейсеSortedMap<K,V> - Переопределяет:
-
keySetв классеAbstractMap<K,V> - Возвращает:
- представление navigable set ключей в этой карте
navigableKeySet
public NavigableSet<K> navigableKeySet()
Описание скопировано из интерфейса: ConcurrentNavigableMap
Возвращает представление NavigableSet ключей, содержащихся в этой карте. Итератор множества возвращает ключи в порядке возрастания. Множество поддерживается картой, поэтому изменения в карте отражаются в множестве и наоборот. Множество поддерживает удаление элементов, которое удаляет соответствующее отображение из карты, посредством операций Iterator.remove, Set.remove, removeAll, retainAll, и clear. Оно не поддерживает операции add или addAll.
Итераторы и разделители представления являются слабо согласованными.
- Определено в:
-
navigableKeySetв интерфейсеConcurrentNavigableMap<K,V> - Определено в:
-
navigableKeySetв интерфейсеNavigableMap<K,V> - Возвращает:
- представление navigable set ключей в этой карте
values
public Collection<V> values()
Возвращает представление Collection значений, содержащихся в этой карте.
Итератор коллекции возвращает значения в порядке возрастания соответствующих ключей. Разделитель коллекции дополнительно сообщает о Spliterator.CONCURRENT, Spliterator.NONNULL и Spliterator.ORDERED, с порядком встреч, который является порядком возрастания соответствующих ключей.
Коллекция поддерживается картой, поэтому изменения в карте отражаются в коллекции и наоборот. Коллекция поддерживает удаление элементов, которое удаляет соответствующее отображение из карты, посредством операций Iterator.remove, Collection.remove, removeAll, retainAll и clear. Она не поддерживает операции add или addAll.
Итераторы и разделители представления являются слабо согласованными.
- Определено в:
-
valuesв интерфейсеMap<K,V> - Определено в:
-
valuesв интерфейсеSortedMap<K,V> - Переопределяет:
-
valuesв классеAbstractMap<K,V> - Возвращает:
- представление коллекции значений, содержащихся в этой карте
entrySet
public Set<Map.Entry<K,V>> entrySet()
Возвращает представление Set отображений, содержащихся в этой карте.
Итератор множества возвращает записи в порядке возрастания ключа. Разделитель множества дополнительно сообщает о Spliterator.CONCURRENT, Spliterator.NONNULL, Spliterator.SORTED и Spliterator.ORDERED, с порядком встреч, который является порядком возрастания ключей.
Множество поддерживается картой, поэтому изменения в карте отражаются в множестве и наоборот. Множество поддерживает удаление элементов, которое удаляет соответствующее отображение из карты, посредством операций Iterator.remove, Set.remove, removeAll, retainAll и clear. Оно не поддерживает операции add или addAll.
Элементы Map.Entry обхода итератором iterator или spliterator не поддерживают операцию setValue.
- Определено в:
-
entrySetв интерфейсеMap<K,V> - Определено в:
-
entrySetв интерфейсеSortedMap<K,V> - Определено в:
-
entrySetв классеAbstractMap<K,V> - Возвращает:
- представление множества отображений, содержащихся в этой карте, отсортированных в порядке возрастания ключа
descendingMap
public ConcurrentNavigableMap<K,V> descendingMap()
Описание скопировано из интерфейса: ConcurrentNavigableMap
Возвращает представление отображений, содержащихся в этой карте, в обратном порядке. Descending map поддерживается этой картой, поэтому изменения в карте отражаются в descending map, и наоборот.
Возвращаемая карта имеет порядок, эквивалентный Collections.reverseOrder(comparator()). Выражение m.descendingMap().descendingMap() возвращает представление m по существу эквивалентное m.
- Определено в:
-
descendingMapв интерфейсеConcurrentNavigableMap<K,V> - Определено в:
-
descendingMapв интерфейсеNavigableMap<K,V> - Возвращает:
- представление этой карты в обратном порядке
descendingKeySet
public NavigableSet<K> descendingKeySet()
Описание скопировано из интерфейса: ConcurrentNavigableMap
Возвращает представление NavigableSet ключей, содержащихся в этой карте, в обратном порядке. Итератор множества возвращает ключи в порядке убывания. Множество поддерживается картой, поэтому изменения в карте отражаются в множестве и наоборот. Множество поддерживает удаление элементов, которое удаляет соответствующее отображение из карты, посредством операций Iterator.remove, Set.remove, removeAll, retainAll, и clear. Оно не поддерживает операции add или addAll.
Итераторы и разделители представления являются слабо согласованными.
- Определено в:
-
descendingKeySetв интерфейсеConcurrentNavigableMap<K,V> - Определено в:
-
descendingKeySetв интерфейсеNavigableMap<K,V> - Возвращает:
- представление navigable set ключей в этой карте в обратном порядке
equals
public boolean equals(Object o)
Сравнивает указанный объект с этой картой на равенство. Возвращает true если данный объект также является картой и две карты представляют одни и те же отображения. Более формально, две карты m1 и m2 представляют одни и те же отображения, если m1.entrySet().equals(m2.entrySet()). Эта операция может возвращать вводящие в заблуждение результаты, если либо карта изменяется одновременно во время выполнения этого метода.
- Определено в:
-
equalsв интерфейсеMap<K,V> - Переопределяет:
-
equalsв классеAbstractMap<K,V> - Параметры:
-
o- объект, который нужно сравнить на равенство с этой картой - Возвращает:
-
trueесли указанный объект равен этой карте - См. также:
-
Object.hashCode(),HashMap
putIfAbsent
public V putIfAbsent(K key,
V value) Если указанный ключ еще не связан со значением, свяжите его с заданным значением. Это эквивалентно
if (!map.containsKey(key)) return map.put(key, value); else return map.get(key);за исключением того, что действие выполняется атомарно.
- Определено в:
-
putIfAbsentв интерфейсеConcurrentMap<K,V> - Определено в:
-
putIfAbsentв интерфейсеMap<K,V> - Параметры:
-
key- ключ, с которым должно быть связано указанное значение -
value- значение, которое должно быть связано с указанным ключом - Возвращает:
- предыдущее значение, связанное с указанным ключом, или
nullесли для ключа не было сопоставления - Исключения:
-
ClassCastException- если указанный ключ нельзя сравнить с ключами, которые в настоящее время находятся в отображении -
NullPointerException- если указанный ключ или значение равны null
remove
public boolean remove(Object key,
Object value) Удаляет запись для ключа только в том случае, если он в настоящее время сопоставлен с заданным значением. Это эквивалентно
if (map.containsKey(key) && Objects.equals(map.get(key), value)) {
map.remove(key);
return true;
} else
return false; за исключением того, что действие выполняется атомарно. - Определено в:
-
removeв интерфейсеConcurrentMap<K,V> - Определено в:
-
removeв интерфейсеMap<K,V> - Параметры:
-
key- ключ, с которым связано указанное значение -
value- ожидаемое значение, связанное с указанным ключом - Возвращает:
-
trueесли значение было удалено - Исключения:
-
ClassCastException- если указанный ключ нельзя сравнить с ключами, которые в настоящее время находятся в отображении -
NullPointerException- если указанный ключ равен null
replace
public boolean replace(K key,
V oldValue,
V newValue) Заменяет запись для ключа только в том случае, если он в настоящее время сопоставлен с заданным значением. Это эквивалентно
if (map.containsKey(key) && Objects.equals(map.get(key), oldValue)) {
map.put(key, newValue);
return true;
} else
return false; за исключением того, что действие выполняется атомарно. - Определено в:
-
replaceв интерфейсеConcurrentMap<K,V> - Определено в:
-
replaceв интерфейсеMap<K,V> - Параметры:
-
key- ключ, с которым связано указанное значение -
oldValue- ожидаемое значение, связанное с указанным ключом -
newValue- значение, которое должно быть связано с указанным ключом - Возвращает:
-
trueесли значение было заменено - Исключения:
-
ClassCastException- если указанный ключ нельзя сравнить с ключами, которые в настоящее время находятся в отображении -
NullPointerException- если любой из аргументов равен null
replace
public V replace(K key,
V value) Заменяет запись для ключа только в том случае, если он в настоящее время сопоставлен с каким-либо значением. Это эквивалентно
if (map.containsKey(key)) {
return map.put(key, value);
} else
return null; за исключением того, что действие выполняется атомарно. - Определено в:
-
replaceв интерфейсеConcurrentMap<K,V> - Определено в:
-
replaceв интерфейсеMap<K,V> - Параметры:
-
key- ключ, с которым связано указанное значение -
value- значение, которое должно быть связано с указанным ключом - Возвращает:
- предыдущее значение, связанное с указанным ключом, или
nullесли для ключа не было сопоставления - Исключения:
-
ClassCastException- если указанный ключ нельзя сравнить с ключами, которые в настоящее время находятся в отображении -
NullPointerException- если указанный ключ или значение равны null
comparator
public Comparator<? super K> comparator()
Описание скопировано из интерфейса: SortedMap
Возвращает компаратор, используемый для упорядочения ключей в этом отображении, или null если это отображение использует естественный порядок ключей.
- Определено в:
-
comparatorв интерфейсеSortedMap<K,V> - Возвращает:
- компаратор, используемый для упорядочения ключей в этом отображении, или
nullесли это отображение использует естественный порядок ключей
firstKey
public K firstKey()
Описание скопировано из интерфейса: SortedMap
Возвращает первый (наименьший) ключ, в настоящее время находящийся в этом отображении.
- Определено в:
-
firstKeyв интерфейсеSortedMap<K,V> - Возвращает:
- первый (наименьший) ключ, в настоящее время находящийся в этом отображении
- Исключения:
-
NoSuchElementException- если это отображение пустое
lastKey
public K lastKey()
Описание скопировано из интерфейса: SortedMap
Возвращает последний (наибольший) ключ, в настоящее время находящийся в этом отображении.
- Определено в:
-
lastKeyв интерфейсеSortedMap<K,V> - Возвращает:
- последний (наибольший) ключ, в настоящее время находящийся в этом отображении
- Исключения:
-
NoSuchElementException- если это отображение пустое
subMap
public ConcurrentNavigableMap<K,V> subMap(K fromKey,
boolean fromInclusive,
K toKey,
boolean toInclusive) Описание скопировано из интерфейса: NavigableMap
Возвращает представление части этого отображения, ключи которого находятся в диапазоне от fromKey до toKey. Если fromKey и toKey равны, возвращаемое отображение пусто, если только fromInclusive и toInclusive оба не равны true. Возвращаемое отображение поддерживает это отображение, поэтому изменения в возвращаемом отображении отражаются в этом отображении и наоборот. Возвращаемое отображение поддерживает все необязательные операции отображения, которые поддерживает это отображение.
Возвращаемое отображение выдаст IllegalArgumentException при попытке вставить ключ за пределами своего диапазона или создать подотображение, концы которого лежат вне его диапазона.
- Определено в:
-
subMapв интерфейсеConcurrentNavigableMap<K,V> - Определено в:
-
subMapв интерфейсеNavigableMap<K,V> - Параметры:
-
fromKey- нижняя граница ключей в возвращаемом отображении -
fromInclusive-trueесли нижнюю границу следует включать в возвращаемое представление -
toKey- верхняя граница ключей в возвращаемом отображении -
toInclusive-trueесли верхнюю границу следует включать в возвращаемое представление - Возвращает:
- представление части этого отображения, ключи которого находятся в диапазоне от
fromKeyдоtoKey - Исключения:
-
ClassCastException- еслиfromKeyиtoKeyнельзя сравнить друг с другом с помощью компаратора этого отображения (или, если у отображения нет компаратора, с использованием естественного порядка). Реализации могут, но не обязаны, генерировать это исключение, еслиfromKeyилиtoKeyнельзя сравнить с ключами, которые в настоящее время находятся в отображении. -
NullPointerException- еслиfromKeyилиtoKeyравно null -
IllegalArgumentException- еслиfromKeyбольшеtoKey; или если у этого отображения есть ограниченный диапазон, аfromKeyилиtoKeyвыходит за пределы границ диапазона
headMap
public ConcurrentNavigableMap<K,V> headMap(K toKey,
boolean inclusive) Описание скопировано из интерфейса: NavigableMap
Возвращает представление части этого отображения, ключи которого меньше (или меньше или равны, если inclusive равно true) toKey. Возвращаемое отображение поддерживает это отображение, поэтому изменения в возвращаемом отображении отражаются в этом отображении и наоборот. Возвращаемое отображение поддерживает все необязательные операции отображения, которые поддерживает это отображение.
Возвращаемое отображение выдаст IllegalArgumentException при попытке вставить ключ за пределами своего диапазона.
- Определено в:
-
headMapв интерфейсеConcurrentNavigableMap<K,V> - Определено в:
-
headMapв интерфейсеNavigableMap<K,V> - Параметры:
-
toKey- верхняя граница ключей в возвращаемом отображении -
inclusive-trueесли верхнюю границу следует включать в возвращаемое представление - Возвращает:
- представление части этого отображения, ключи которого меньше (или меньше или равны, если
inclusiveравно true)toKey - Исключения:
-
ClassCastException- еслиtoKeyнесовместимо с компаратором этого отображения (или, если у отображения нет компаратора, еслиtoKeyне реализуетComparable). Реализации могут, но не обязаны, генерировать это исключение, еслиtoKeyнельзя сравнить с ключами, которые в настоящее время находятся в отображении. -
NullPointerException- еслиtoKeyравно null -
IllegalArgumentException- если у этого отображения есть ограниченный диапазон, аtoKeyвыходит за пределы границ диапазона
tailMap
public ConcurrentNavigableMap<K,V> tailMap(K fromKey,
boolean inclusive) Описание скопировано из интерфейса: NavigableMap
Возвращает представление части этого отображения, ключи которого больше (или больше или равны, если inclusive равно true) fromKey. Возвращаемое отображение поддерживает это отображение, поэтому изменения в возвращаемом отображении отражаются в этом отображении и наоборот. Возвращаемое отображение поддерживает все необязательные операции отображения, которые поддерживает это отображение.
Возвращаемое отображение выдаст IllegalArgumentException при попытке вставить ключ за пределами своего диапазона.
- Определено в:
-
tailMapв интерфейсеConcurrentNavigableMap<K,V> - Определено в:
-
tailMapв интерфейсеNavigableMap<K,V> - Параметры:
-
fromKey- нижняя граница ключей в возвращаемом отображении -
inclusive-trueесли нижнюю границу следует включать в возвращаемое представление - Возвращает:
- представление части этого отображения, ключи которого больше (или больше или равны, если
inclusiveравно true)fromKey - Исключения:
-
ClassCastException- еслиfromKeyнесовместимо с компаратором этого отображения (или, если у отображения нет компаратора, еслиfromKeyне реализуетComparable). Реализации могут, но не обязаны, генерировать это исключение, еслиfromKeyнельзя сравнить с ключами, которые в настоящее время находятся в отображении. -
NullPointerException- еслиfromKeyравно null -
IllegalArgumentException- если у этого отображения есть ограниченный диапазон, аfromKeyвыходит за пределы границ диапазона
subMap
public ConcurrentNavigableMap<K,V> subMap(K fromKey,
K toKey) Описание скопировано из интерфейса: NavigableMap
Возвращает представление части этой карты, ключи которой находятся в диапазоне от fromKey, включительно, до toKey, не включая. (Если fromKey и toKey равны, возвращаемая карта пуста.) Возвращаемая карта основана на этой карте, поэтому изменения в возвращаемой карте отражаются в этой карте и наоборот. Возвращаемая карта поддерживает все необязательные операции с картами, которые поддерживает эта карта.
Возвращаемая карта выбросит исключение IllegalArgumentException при попытке вставить ключ за пределами своего диапазона.
Эквивалентно subMap(fromKey, true, toKey, false).
- Указано в:
-
subMapв интерфейсеConcurrentNavigableMap<K,V> - Указано в:
-
subMapв интерфейсеNavigableMap<K,V> - Указано в:
-
subMapв интерфейсеSortedMap<K,V> - Параметры:
-
fromKey- нижняя граница (включительно) ключей в возвращаемой карте -
toKey- верхняя граница (исключительно) ключей в возвращаемой карте - Возвращает:
- представление части этой карты, ключи которой находятся в диапазоне от
fromKey, включительно, доtoKey, не включая - Исключения:
-
ClassCastException- еслиfromKeyиtoKeyнельзя сравнить друг с другом с помощью компаратора этой карты (или, если карта не имеет компаратора, используя естественный порядок). Реализации могут, но не обязаны, выбрасывать это исключение, еслиfromKeyилиtoKeyнельзя сравнить с ключами, которые в данный момент находятся в карте. -
NullPointerException- еслиfromKeyилиtoKeyравно null -
IllegalArgumentException- еслиfromKeyбольше, чемtoKey; или если сама эта карта имеет ограниченный диапазон, иfromKeyилиtoKeyнаходится за пределами диапазона
headMap
public ConcurrentNavigableMap<K,V> headMap(K toKey)
Описание скопировано из интерфейса: NavigableMap
Возвращает представление части этой карты, ключи которой строго меньше toKey. Возвращаемая карта основана на этой карте, поэтому изменения в возвращаемой карте отражаются в этой карте и наоборот. Возвращаемая карта поддерживает все необязательные операции с картами, которые поддерживает эта карта.
Возвращаемая карта выбросит исключение IllegalArgumentException при попытке вставить ключ за пределами своего диапазона.
Эквивалентно headMap(toKey, false).
- Указано в:
-
headMapв интерфейсеConcurrentNavigableMap<K,V> - Указано в:
-
headMapв интерфейсеNavigableMap<K,V> - Указано в:
-
headMapв интерфейсеSortedMap<K,V> - Параметры:
-
toKey- верхняя граница (исключительно) ключей в возвращаемой карте - Возвращает:
- представление части этой карты, ключи которой строго меньше
toKey - Исключения:
-
ClassCastException- еслиtoKeyнесовместим с компаратором этой карты (или, если карта не имеет компаратора, еслиtoKeyне реализуетComparable). Реализации могут, но не обязаны, выбрасывать это исключение, еслиtoKeyнельзя сравнить с ключами, которые в данный момент находятся в карте. -
NullPointerException- еслиtoKeyравно null -
IllegalArgumentException- если сама эта карта имеет ограниченный диапазон, иtoKeyнаходится за пределами диапазона
tailMap
public ConcurrentNavigableMap<K,V> tailMap(K fromKey)
Описание скопировано из интерфейса: NavigableMap
Возвращает представление части этой карты, ключи которой больше или равны fromKey. Возвращаемая карта основана на этой карте, поэтому изменения в возвращаемой карте отражаются в этой карте и наоборот. Возвращаемая карта поддерживает все необязательные операции с картами, которые поддерживает эта карта.
Возвращаемая карта выбросит исключение IllegalArgumentException при попытке вставить ключ за пределами своего диапазона.
Эквивалентно tailMap(fromKey, true).
- Указано в:
-
tailMapв интерфейсеConcurrentNavigableMap<K,V> - Указано в:
-
tailMapв интерфейсеNavigableMap<K,V> - Указано в:
-
tailMapв интерфейсеSortedMap<K,V> - Параметры:
-
fromKey- нижняя граница (включительно) ключей в возвращаемой карте - Возвращает:
- представление части этой карты, ключи которой больше или равны
fromKey - Исключения:
-
ClassCastException- еслиfromKeyнесовместим с компаратором этой карты (или, если карта не имеет компаратора, еслиfromKeyне реализуетComparable). Реализации могут, но не обязаны, выбрасывать это исключение, еслиfromKeyнельзя сравнить с ключами, которые в данный момент находятся в карте. -
NullPointerException- еслиfromKeyравно null -
IllegalArgumentException- если сама эта карта имеет ограниченный диапазон, иfromKeyнаходится за пределами диапазона
lowerEntry
public Map.Entry<K,V> lowerEntry(K key)
Возвращает сопоставление ключ-значение, связанное с наибольшим ключом, строго меньшим, чем данный ключ, или null, если такого ключа нет. Возвращаемая запись не поддерживает метод Entry.setValue.
- Указано в:
-
lowerEntryв интерфейсеNavigableMap<K,V> - Параметры:
-
key- ключ - Возвращает:
- запись с наибольшим ключом, меньшим, чем
key, илиnull, если такого ключа нет - Исключения:
-
ClassCastException- если указанный ключ нельзя сравнить с ключами, которые в данный момент находятся в карте -
NullPointerException- если указанный ключ равен null
lowerKey
public K lowerKey(K key)
Описание скопировано из интерфейса: NavigableMap
Возвращает наибольший ключ, строго меньший, чем данный ключ, или null, если такого ключа нет.
- Указано в:
-
lowerKeyв интерфейсеNavigableMap<K,V> - Параметры:
-
key- ключ - Возвращает:
- наибольший ключ, меньший, чем
key, илиnull, если такого ключа нет - Исключения:
-
ClassCastException- если указанный ключ нельзя сравнить с ключами, которые в данный момент находятся в карте -
NullPointerException- если указанный ключ равен null
floorEntry
public Map.Entry<K,V> floorEntry(K key)
Возвращает сопоставление ключ-значение, связанное с наибольшим ключом, меньшим или равным данному ключу, или null, если такого ключа нет. Возвращаемая запись не поддерживает метод Entry.setValue.
- Указано в:
-
floorEntryв интерфейсеNavigableMap<K,V> - Параметры:
-
key- ключ - Возвращает:
- запись с наибольшим ключом, меньшим или равным
key, илиnull, если такого ключа нет - Исключения:
-
ClassCastException- если указанный ключ нельзя сравнить с ключами, которые в данный момент находятся в карте -
NullPointerException- если указанный ключ равен null
floorKey
public K floorKey(K key)
Описание скопировано из интерфейса: NavigableMap
Возвращает наибольший ключ, меньший или равный данному ключу, или null, если такого ключа нет.
- Указано в:
-
floorKeyв интерфейсеNavigableMap<K,V> - Параметры:
-
key- ключ - Возвращает:
- наибольший ключ, меньший или равный
key, илиnull, если такого ключа нет - Исключения:
-
ClassCastException- если указанный ключ нельзя сравнить с ключами, которые в данный момент находятся в карте -
NullPointerException- если указанный ключ равен null
ceilingEntry
public Map.Entry<K,V> ceilingEntry(K key)
Возвращает сопоставление ключ-значение, связанное с наименьшим ключом, большим или равным данному ключу, или null, если такой записи нет. Возвращаемая запись не поддерживает метод Entry.setValue.
- Указано в:
-
ceilingEntryв интерфейсеNavigableMap<K,V> - Параметры:
-
key- ключ - Возвращает:
- запись с наименьшим ключом, большим или равным
key, илиnull, если такого ключа нет - Исключения:
-
ClassCastException- если указанный ключ нельзя сравнить с ключами, которые в данный момент находятся в карте -
NullPointerException- если указанный ключ равен null
ceilingKey
public K ceilingKey(K key)
Описание скопировано из интерфейса: NavigableMap
Возвращает наименьший ключ, больший или равный данному ключу, или null, если такого ключа нет.
- Указано в:
-
ceilingKeyв интерфейсеNavigableMap<K,V> - Параметры:
-
key- ключ - Возвращает:
- наименьший ключ, больший или равный
key, илиnull, если такого ключа нет - Исключения:
-
ClassCastException- если указанный ключ нельзя сравнить с ключами, которые в данный момент находятся в карте -
NullPointerException- если указанный ключ равен null
higherEntry
public Map.Entry<K,V> higherEntry(K key)
Возвращает сопоставление ключ-значение, связанное с наименьшим ключом, строго большим, чем данный ключ, или null, если такого ключа нет. Возвращаемая запись не поддерживает метод Entry.setValue.
- Указано в:
-
higherEntryв интерфейсеNavigableMap<K,V> - Параметры:
-
key- ключ - Возвращает:
- запись с наименьшим ключом, большим, чем
key, илиnull, если такого ключа нет - Исключения:
-
ClassCastException- если указанный ключ нельзя сравнить с ключами, которые в данный момент находятся в карте -
NullPointerException- если указанный ключ равен null
higherKey
public K higherKey(K key)
Описание скопировано из интерфейса: NavigableMap
Возвращает наименьший ключ, строго больший, чем данный ключ, или null, если такого ключа нет.
- Определено в:
-
higherKeyв интерфейсеNavigableMap<K,V> - Параметры:
-
key- ключ - Возвращает:
- наименьший ключ, больший, чем
key, илиnull, если такого ключа нет - Изводит исключение:
-
ClassCastException- если указанный ключ нельзя сравнить с ключами, которые сейчас находятся в отображении -
NullPointerException- если указанный ключ равен null
firstEntry
public Map.Entry<K,V> firstEntry()
Возвращает сопоставление ключ-значение, связанное с наименьшим ключом в этом отображении, или null если отображение пустое. Возвращаемая запись не поддерживает метод Entry.setValue.
- Определено в:
-
firstEntryв интерфейсеNavigableMap<K,V> - Возвращает:
- запись с наименьшим ключом, или
nullесли это отображение пустое
lastEntry
public Map.Entry<K,V> lastEntry()
Возвращает сопоставление ключ-значение, связанное с наибольшим ключом в этом отображении, или null если отображение пустое. Возвращаемая запись не поддерживает метод Entry.setValue.
- Определено в:
-
lastEntryв интерфейсеNavigableMap<K,V> - Возвращает:
- запись с наибольшим ключом, или
nullесли это отображение пустое
pollFirstEntry
public Map.Entry<K,V> pollFirstEntry()
Удаляет и возвращает сопоставление ключ-значение, связанное с наименьшим ключом в этом отображении, или null если отображение пустое. Возвращаемая запись не поддерживает метод Entry.setValue.
- Определено в:
-
pollFirstEntryв интерфейсеNavigableMap<K,V> - Возвращает:
- удаленную первую запись этого отображения, или
nullесли это отображение пустое
pollLastEntry
public Map.Entry<K,V> pollLastEntry()
Удаляет и возвращает сопоставление ключ-значение, связанное с наибольшим ключом в этом отображении, или null если отображение пустое. Возвращаемая запись не поддерживает метод Entry.setValue.
- Определено в:
-
pollLastEntryв интерфейсеNavigableMap<K,V> - Возвращает:
- удаленную последнюю запись этого отображения, или
nullесли это отображение пустое
forEach
public void forEach(BiConsumer<? super K,? super V> action)
Описание скопировано из интерфейса: ConcurrentMap
Выполняет заданное действие для каждой записи в этом отображении до тех пор, пока все записи не будут обработаны или действие не вызовет исключение. Если не указано иное реализующим классом, действия выполняются в порядке итерации набора записей (если порядок итерации указан.) Исключение, вызываемое действием, передается вызывающей стороне.
- Определено в:
-
forEachв интерфейсеConcurrentMap<K,V> - Определено в:
-
forEachв интерфейсеMap<K,V> - Параметры:
-
action- действие, которое должно быть выполнено для каждой записи
replaceAll
public void replaceAll(BiFunction<? super K,? super V,? extends V> function)
Описание скопировано из интерфейса: ConcurrentMap
Заменяет значение каждой записи результатом вызова заданной функции для этой записи до тех пор, пока все записи не будут обработаны или функция не вызовет исключение. Исключения, вызываемые функцией, передаются вызывающей стороне.
- Определено в:
-
replaceAllв интерфейсеConcurrentMap<K,V> - Определено в:
-
replaceAllв интерфейсеMap<K,V> - Параметры:
-
function- функция, которую нужно применить к каждой записи
© 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.