Spec-Zone.ru › OpenJDK 8

Класс 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)

Возвращает отображение ключ-значение, связанное с наименьшим ключом, больше или равным заданному ключу, или null , если такой записи нет.

K ceilingKey(K key)

Возвращает наименьший ключ, больший или равный заданному ключу, или null , если такого ключа нет.

void clear()

Удаляет все отображения из этого отображения.

ConcurrentSkipListMap<K,V> clone()

Возвращает неглубокую копию этого экземпляра ConcurrentSkipListMap.

Comparator<? super K> comparator()

Возвращает компаратор, используемый для упорядочивания ключей в этом отображении, или null , если это отображение использует естественный порядок своих ключей.

V compute(K key, BiFunction<? super K,? super V,? extends V> remappingFunction)

Попытка вычислить отображение для указанного ключа и его текущего сопоставленного значения (или null , если нет текущего сопоставления).

V computeIfAbsent(K key, Function<? super K,? extends V> mappingFunction)

Если указанный ключ еще не связан со значением, пытается вычислить его значение с помощью заданной функции отображения и вводит его в это отображение, если null.

V computeIfPresent(K key, BiFunction<? super K,? super V,? extends V> remappingFunction)

Если значение для указанного ключа присутствует, пытается вычислить новое отображение, заданное ключом и его текущим сопоставленным значением.

boolean containsKey(Object key)

Возвращает true , если это отображение содержит отображение для указанного ключа.

boolean containsValue(Object value)

Возвращает true , если это отображение сопоставляет один или несколько ключей с указанным значением.

NavigableSet<K> descendingKeySet()

Возвращает отображение в обратном порядке NavigableSet ключей, содержащихся в этом отображении.

ConcurrentNavigableMap<K,V> descendingMap()

Возвращает отображение в обратном порядке сопоставлений, содержащихся в этом отображении.

Set<Map.Entry<K,V>> entrySet()

Возвращает Set представление отображений, содержащихся в этом отображении.

boolean equals(Object o)

Сравнивает указанный объект с этим отображением на равенство.

Map.Entry<K,V> firstEntry()

Возвращает отображение ключ-значение, связанное с наименьшим ключом в этом отображении, или null , если отображение пусто.

K firstKey()

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

Map.Entry<K,V> floorEntry(K key)

Возвращает отображение ключ-значение, связанное с наибольшим ключом, меньшим или равным заданному ключу, или null , если такого ключа нет.

K floorKey(K key)

Возвращает наибольший ключ, меньший или равный заданному ключу, или null , если такого ключа нет.

void forEach(BiConsumer<? super K,? super V> action)

Выполняет заданное действие для каждой записи в этом отображении до тех пор, пока все записи не будут обработаны или действие не выбросит исключение.

V get(Object key)

Возвращает значение, которому соответствует указанный ключ, или null , если это отображение не содержит сопоставления для ключа.

V getOrDefault(Object key, V defaultValue)

Возвращает значение, которому соответствует указанный ключ, или заданное значение по умолчанию, если это отображение не содержит сопоставления для ключа.

ConcurrentNavigableMap<K,V> headMap(K toKey)

Возвращает представление части этого отображения, ключи которого строго меньше toKey.

ConcurrentNavigableMap<K,V> headMap(K toKey, boolean inclusive)

Возвращает представление части этого отображения, ключи которого меньше (или равны, если inclusive истинно) toKey.

Map.Entry<K,V> higherEntry(K key)

Возвращает отображение ключ-значение, связанное с наименьшим ключом, строго большим, чем заданный ключ, или null , если такого ключа нет.

K higherKey(K key)

Возвращает наименьший ключ, строго больший, чем заданный ключ, или null , если такого ключа нет.

boolean isEmpty()

Возвращает true , если это отображение не содержит отображений ключ-значение.

NavigableSet<K> keySet()

Возвращает NavigableSet представление ключей, содержащихся в этом отображении.

Map.Entry<K,V> lastEntry()

Возвращает отображение ключ-значение, связанное с наибольшим ключом в этом отображении, или null , если отображение пусто.

K lastKey()

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

Map.Entry<K,V> lowerEntry(K key)

Возвращает отображение ключ-значение, связанное с наибольшим ключом, строго меньшим, чем заданный ключ, или null , если такого ключа нет.

K lowerKey(K key)

Возвращает наибольший ключ, строго меньший, чем заданный ключ, или null , если такого ключа нет.

V merge(K key, V value, BiFunction<? super V,? super V,? extends V> remappingFunction)

Если указанный ключ еще не связан со значением, связывает его со значением.

NavigableSet<K> navigableKeySet()

Возвращает NavigableSet представление ключей, содержащихся в этом отображении.

Map.Entry<K,V> pollFirstEntry()

Удаляет и возвращает отображение ключ-значение, связанное с наименьшим ключом в этом отображении, или null , если отображение пусто.

Map.Entry<K,V> pollLastEntry()

Удаляет и возвращает отображение ключ-значение, связанное с наибольшим ключом в этом отображении, или null , если отображение пусто.

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)

Возвращает представление части этого отображения, ключи которого находятся в диапазоне от fromKey до toKey.

ConcurrentNavigableMap<K,V> subMap(K fromKey, K toKey)

Возвращает представление части этого отображения, ключи которого находятся в диапазоне от fromKey, включительно, до toKey, не включительно.

ConcurrentNavigableMap<K,V> tailMap(K fromKey)

Возвращает представление части этого отображения, ключи которого больше или равны fromKey.

ConcurrentNavigableMap<K,V> tailMap(K fromKey, boolean inclusive)

Возвращает представление части этого отображения, ключи которого больше (или равны, если inclusive истинно) fromKey.

Collection<V> values()

Возвращает Collection представление значений, содержащихся в этом отображении.

Методы, унаследованные от класса 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()

Удаляет все сопоставления из этой карты.

Указано в:
clear в интерфейсе Map<K,V>
Переопределяет:
clear в классе AbstractMap<K,V>

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.

Spec-Zone.ru

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