Spec-Zone.ru › OpenJDK 8

Класс ConcurrentHashMap<K,V>

  • java.lang.Object
    • java.util.AbstractMap<K,V>
      • java.util.concurrent.ConcurrentHashMap<K,V>
Type Parameters:
K - тип ключей, хранимых в этой карте
V - тип сопоставленных значений
Все реализованные интерфейсы:
Serializable, ConcurrentMap<K,V>, Map<K,V>

public class ConcurrentHashMap<K,V>
extends AbstractMap<K,V>
implements ConcurrentMap<K,V>, Serializable

Хэш-таблица, поддерживающая полную конкуретность извлечений и высокую ожидаемую конкуретность для обновлений. Этот класс подчиняется тому же функциональному спецификации, что и Hashtable, и включает версии методов, соответствующие каждому методу Hashtable. Однако, даже если все операции защищены от потоков, операции извлечения не требуют блокировки, и нет никакой поддержки блокировки всей таблицы таким образом, чтобы предотвратить весь доступ. Этот класс полностью совместим с Hashtable в программах, которые полагаются на его безопасность потоков, но не на детали его синхронизации.

Операции извлечения (включая get) обычно не блокируются, поэтому могут перекрываться с операциями обновления (включая put и remove). Извлечения отражают результаты наиболее недавно завершенных операций обновления, сохраняемых при их начале. (Более формально, операция обновления для данного ключа имеет happens-before отношение с любым (неравным null) извлечением для этого ключа, сообщающим обновленное значение.) Для агрегатных операций, таких как putAll и clear, одновременные извлечения могут отражать вставку или удаление только некоторых записей. Аналогично, итераторы, разделители и перечисления возвращают элементы, отражающие состояние хэш-таблицы в какой-то момент времени или с момента создания итератора/перечисления. Они не выбрасывают ConcurrentModificationException. Однако итераторы предназначены для использования только одним потоком одновременно. Имейте в виду, что результаты агрегатных методов статуса, включая size, isEmpty и containsValue, обычно полезны только тогда, когда карта не подвергается одновременным обновлениям в других потоках. В противном случае результаты этих методов отражают временные состояния, которые могут быть достаточными для мониторинга или оценки, но не для управления программой.

Таблица динамически расширяется, когда возникает слишком много коллизий (то есть ключи, имеющие разные хэш-коды, но попадающие в один и тот же слот по модулю размера таблицы), с ожидаемым средним эффектом поддержания примерно двух ячеек на сопоставление (соответствующее порогу загрузки 0,75 для изменения размера). Может быть значительная вариативность вокруг этой средней величины по мере добавления и удаления сопоставлений, но в целом это сохраняет общепринятый компромисс время/пространство для хэш-таблиц. Тем не менее, изменение размера этой или любой другой хэш-таблицы может быть относительно медленной операцией. Когда это возможно, рекомендуется указать оценку размера в качестве необязательного initialCapacity аргумента конструктора. Дополнительный необязательный loadFactor аргумент конструктора предоставляет дополнительный способ настройки начальной емкости таблицы, указав плотность таблицы, которая будет использоваться для расчета объема памяти для выделения для заданного числа элементов. Кроме того, для совместимости с предыдущими версиями этого класса, конструкторы могут необязательно указать ожидаемое concurrencyLevel как дополнительное подсказку для внутреннего изменения размера. Обратите внимание, что использование многих ключей с точно такими же hashCode() — верный способ замедлить производительность любой хэш-таблицы. Для уменьшения воздействия, когда ключи являются Comparable, этот класс может использовать порядок сравнения среди ключей для разрешения конфликтов.

Проекцию Set ConcurrentHashMap можно создать (используя newKeySet() или newKeySet(int)), или просмотреть (используя keySet(Object) в случае, когда интерес представляют только ключи, и сопоставленные значения (возможно, временно) не используются или все имеют одно и то же значение сопоставления.

ConcurrentHashMap может использоваться как масштабируемая карта частот (форма гистограммы или мультимножества), используя значения LongAdder и инициализацию через computeIfAbsent. Например, чтобы добавить счетчик в ConcurrentHashMap<String,LongAdder> freqs, можно использовать freqs.computeIfAbsent(k -> new LongAdder()).increment();

Этот класс и его представления и итераторы реализуют все необязательные методы интерфейсов Map и Iterator.

Подобно Hashtable, но в отличие от HashMap, этот класс не допускает null в качестве ключа или значения.

ConcurrentHashMap поддерживает набор последовательных и параллельных операций с большими объемами данных, которые, в отличие от большинства методов Stream, разработаны для безопасного и часто разумного применения даже с картами, которые обновляются другими потоками; например, при вычислении моментального снимка сводки значений в общем регистре. Существует три типа операций, каждая из которых имеет четыре формы, принимающие функции с ключами, значениями, записями и (ключ, значение) аргументами и/или значениями возврата. Поскольку элементы ConcurrentHashMap не упорядочены каким-либо определенным образом и могут обрабатываться в разных порядках в разных параллельных выполнениях, правильность предоставленных функций не должна зависеть от какого-либо порядка или от каких-либо других объектов или значений, которые могут временно изменяться во время вычислений; и, за исключением действий forEach, в идеале должны быть лишены побочных эффектов. Операции с большими объемами данных над объектами Map.Entry не поддерживают метод setValue.

  • forEach: Выполняет заданное действие над каждым элементом. Вариант формы применяет заданное преобразование к каждому элементу перед выполнением действия.
  • search: Возвращает первый доступный ненулевой результат применения заданной функции к каждому элементу; пропуская дальнейший поиск, когда результат найден.
  • reduce: Накапливает каждый элемент. Предоставленная функция сокращения не может полагаться на порядок (более формально, она должна быть ассоциативной и коммутативной). Существует пять вариантов:
    • Простые сокращения. (Нет формы этого метода для аргументов функций (ключ, значение), так как нет соответствующего типа возвращаемого значения.)
    • Преобразованные сокращения, которые накапливают результаты заданной функции, примененной к каждому элементу.
    • Сокращения до скалярных чисел double, long и int, используя заданное базовое значение.

Эти операции с большими объемами данных принимают аргумент parallelismThreshold. Методы выполняются последовательно, если текущий размер карты оценивается как меньший, чем заданный порог. Использование значения Long.MAX_VALUE подавляет всю параллельность. Использование значения 1 приводит к максимальной параллельности путем разделения на достаточно подзадач, чтобы полностью использовать ForkJoinPool.commonPool(), используемый для всех параллельных вычислений. Обычно вы будете первоначально выбирать одно из этих крайних значений, а затем измерять производительность использования промежуточных значений, которые сбалансируют накладные расходы и производительность.

Свойства конкуретности операций с большими объемами данных следуют из свойств ConcurrentHashMap: Любой ненулевой результат, возвращаемый из get(key) и связанных методов доступа, имеет отношение happens-before с соответствующей вставкой или обновлением. Результат любой операции с большими объемами данных отражает состав этих отношений на элемент (но не обязательно атомен относительно карты в целом, если только каким-то образом не известно, что она находится в состоянии бездействия). И наоборот, поскольку ключи и значения в карте никогда не равны null, null служит надежным атомарным индикатором отсутствия какого-либо результата в настоящее время. Для поддержания этого свойства null служит неявной основой для всех операций сокращения, не являющихся скалярными. Для версий double, long и int основа должна быть такой, чтобы, когда она комбинируется с любым другим значением, она возвращала это другое значение (более формально, это должен быть идентичный элемент для сокращения). Большинство распространенных сокращений обладают этими свойствами; например, вычисление суммы с основой 0 или минимума с основой MAX_VALUE.

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

Методы, принимающие и/или возвращающие аргументы Entry, сохраняют ассоциации ключ-значение. Они могут быть полезны, например, при поиске ключа для наибольшего значения. Обратите внимание, что «простые» аргументы Entry могут быть предоставлены с помощью new AbstractMap.SimpleEntry(k,v).

Операции с большими объемами данных могут завершиться неожиданно, выбросив исключение, которое встречено при применении предоставленной функции. Имейте в виду при обработке таких исключений, что и другие выполняемые параллельно функции также могли выбросить исключения или сделали бы это, если бы первое исключение не произошло.

Ускорения для параллельных по сравнению с последовательными формами часто наблюдаются, но не гарантируются. Параллельные операции, включающие короткие функции над небольшими картами, могут выполняться медленнее, чем последовательные формы, если дополнительная работа по распараллеливанию вычислений дороже, чем вычисления сами по себе. Аналогичным образом, распараллеливание может не привести к значительному параллелизму, если все процессоры заняты выполнением не связанных задач.

Все аргументы во всех методах задач должны быть не равны null.

Этот класс является членом Java Collections Framework.

Since:
1.5
См. также:
Serialized Form

Вложенные классы

Модификатор и тип Класс и описание
static class  ConcurrentHashMap.KeySetView<K,V>

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

Вложенные классы/интерфейсы, унаследованные от класса java.util.AbstractMap

AbstractMap.SimpleEntry<K,V>, AbstractMap.SimpleImmutableEntry<K,V>

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

Map.Entry<K,V>

Конструкторы

Конструктор и описание
ConcurrentHashMap()

Создаёт новую, пустую карту с размером начальной таблицы по умолчанию (16).

ConcurrentHashMap(int initialCapacity)

Создаёт новую, пустую карту с начальным размером таблицы, достаточным для размещения указанного количества элементов без необходимости динамического изменения размера.

ConcurrentHashMap(int initialCapacity, float loadFactor)

Создаёт новую, пустую карту с начальным размером таблицы, основанным на заданном количестве элементов (initialCapacity) и начальной плотности таблицы (loadFactor).

ConcurrentHashMap(int initialCapacity, float loadFactor, int concurrencyLevel)

Создаёт новую карту с теми же соответствиями, что и в заданной карте.

Методы

Модификатор и тип Метод и описание
void clear()

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

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 contains(Object value)

Метод, предназначенный для проверки, отображает ли в данной таблице какой-либо ключ в указанное значение.

boolean containsKey(Object key)

Проверяет, является ли указанный объект ключом в этой таблице.

boolean containsValue(Object value)

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

Enumeration<V> elements()

Возвращает перечисление значений в этой таблице.

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

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

boolean equals(Object o)

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

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

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

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

Выполняет заданное действие для каждой пары (ключ, значение).

<U> void forEach(long parallelismThreshold, BiFunction<? super K,? super V,? extends U> transformer, Consumer<? super U> action)

Выполняет заданное действие для каждого не-null преобразования каждой пары (ключ, значение).

void forEachEntry(long parallelismThreshold, Consumer<? super Map.Entry<K,V>> action)

Выполняет заданное действие для каждой записи.

<U> void forEachEntry(long parallelismThreshold, Function<Map.Entry<K,V>,? extends U> transformer, Consumer<? super U> action)

Выполняет заданное действие для каждого не-null преобразования каждой записи.

void forEachKey(long parallelismThreshold, Consumer<? super K> action)

Выполняет заданное действие для каждого ключа.

<U> void forEachKey(long parallelismThreshold, Function<? super K,? extends U> transformer, Consumer<? super U> action)

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

void forEachValue(long parallelismThreshold, Consumer<? super V> action)

Выполняет заданное действие для каждого значения.

<U> void forEachValue(long parallelismThreshold, Function<? super V,? extends U> transformer, Consumer<? super U> action)

Выполняет заданное действие для каждого не-null преобразования каждого значения.

V get(Object key)

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

V getOrDefault(Object key, V defaultValue)

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

int hashCode()

Возвращает значение хэш-кода для этой Map, т.е. сумму, для каждой пары ключ-значение в карте, key.hashCode() ^ value.hashCode().

boolean isEmpty()

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

Enumeration<K> keys()

Возвращает перечисление ключей в этой таблице.

ConcurrentHashMap.KeySetView<K,V> keySet()

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

ConcurrentHashMap.KeySetView<K,V> keySet(V mappedValue)

Возвращает Set представление ключей в этой карте, используя заданное общее сопоставленное значение для любых добавлений (т.е., Collection.add(E) и Collection.addAll(Collection)).

long mappingCount()

Возвращает количество сопоставлений.

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

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

static <K> ConcurrentHashMap.KeySetView<K,Boolean> newKeySet()

Создает новый Set объект, поддерживаемый ConcurrentHashMap, от заданного типа к Boolean.TRUE.

static <K> ConcurrentHashMap.KeySetView<K,Boolean> newKeySet(int initialCapacity)

Создает новый Set объект, поддерживаемый ConcurrentHashMap, от заданного типа к Boolean.TRUE.

V put(K key, V value)

Сопоставляет указанный ключ со значением в этой таблице.

void putAll(Map<? extends K,? extends V> m)

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

V putIfAbsent(K key, V value)

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

<U> U reduce(long parallelismThreshold, BiFunction<? super K,? super V,? extends U> transformer, BiFunction<? super U,? super U,? extends U> reducer)

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

Map.Entry<K,V> reduceEntries(long parallelismThreshold, BiFunction<Map.Entry<K,V>,Map.Entry<K,V>,? extends Map.Entry<K,V>> reducer)

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

<U> U reduceEntries(long parallelismThreshold, Function<Map.Entry<K,V>,? extends U> transformer, BiFunction<? super U,? super U,? extends U> reducer)

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

double reduceEntriesToDouble(long parallelismThreshold, ToDoubleFunction<Map.Entry<K,V>> transformer, double basis, DoubleBinaryOperator reducer)

Возвращает результат накопления заданного преобразования всех записей с использованием заданного редуктора для объединения значений и заданного основания в качестве идентичного значения.

int reduceEntriesToInt(long parallelismThreshold, ToIntFunction<Map.Entry<K,V>> transformer, int basis, IntBinaryOperator reducer)

Возвращает результат накопления заданного преобразования всех записей с использованием заданного редуктора для объединения значений и заданного основания в качестве идентичного значения.

long reduceEntriesToLong(long parallelismThreshold, ToLongFunction<Map.Entry<K,V>> transformer, long basis, LongBinaryOperator reducer)

Возвращает результат накопления заданного преобразования всех записей с использованием заданного редуктора для объединения значений и заданного основания в качестве идентичного значения.

K reduceKeys(long parallelismThreshold, BiFunction<? super K,? super K,? extends K> reducer)

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

<U> U reduceKeys(long parallelismThreshold, Function<? super K,? extends U> transformer, BiFunction<? super U,? super U,? extends U> reducer)

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

double reduceKeysToDouble(long parallelismThreshold, ToDoubleFunction<? super K> transformer, double basis, DoubleBinaryOperator reducer)

Возвращает результат накопления заданного преобразования всех ключей с использованием заданного редуктора для объединения значений и заданного основания в качестве идентичного значения.

int reduceKeysToInt(long parallelismThreshold, ToIntFunction<? super K> transformer, int basis, IntBinaryOperator reducer)

Возвращает результат накопления заданного преобразования всех ключей с использованием заданного редуктора для объединения значений и заданного основания в качестве идентичного значения.

long reduceKeysToLong(long parallelismThreshold, ToLongFunction<? super K> transformer, long basis, LongBinaryOperator reducer)

Возвращает результат накопления заданного преобразования всех ключей с использованием заданного редуктора для объединения значений и заданного основания в качестве идентичного значения.

double reduceToDouble(long parallelismThreshold, ToDoubleBiFunction<? super K,? super V> transformer, double basis, DoubleBinaryOperator reducer)

Возвращает результат накопления заданного преобразования всех пар (ключ, значение) с использованием заданного редуктора для объединения значений и заданного основания в качестве идентичного значения.

int reduceToInt(long parallelismThreshold, ToIntBiFunction<? super K,? super V> transformer, int basis, IntBinaryOperator reducer)

Возвращает результат накопления заданного преобразования всех пар (ключ, значение) с использованием заданного редуктора для объединения значений и заданного основания в качестве идентичного значения.

long reduceToLong(long parallelismThreshold, ToLongBiFunction<? super K,? super V> transformer, long basis, LongBinaryOperator reducer)

Возвращает результат накопления заданного преобразования всех пар (ключ, значение) с использованием заданного редуктора для объединения значений и заданного основания в качестве идентичного значения.

V reduceValues(long parallelismThreshold, BiFunction<? super V,? super V,? extends V> reducer)

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

<U> U reduceValues(long parallelismThreshold, Function<? super V,? extends U> transformer, BiFunction<? super U,? super U,? extends U> reducer)

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

double reduceValuesToDouble(long parallelismThreshold, ToDoubleFunction<? super V> transformer, double basis, DoubleBinaryOperator reducer)

Возвращает результат накопления заданного преобразования всех значений с использованием заданного редуктора для объединения значений и заданного основания в качестве идентичного значения.

int reduceValuesToInt(long parallelismThreshold, ToIntFunction<? super V> transformer, int basis, IntBinaryOperator reducer)

Возвращает результат накопления заданного преобразования всех значений с использованием заданного редуктора для объединения значений и заданного основания в качестве идентичного значения.

long reduceValuesToLong(long parallelismThreshold, ToLongFunction<? super V> transformer, long basis, LongBinaryOperator reducer)

Возвращает результат накопления заданного преобразования всех значений с использованием заданного редуктора для объединения значений и заданного основания в качестве идентичного значения.

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)

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

<U> U search(long parallelismThreshold, BiFunction<? super K,? super V,? extends U> searchFunction)

Возвращает не нулевое значение, полученное при применении заданной функции поиска к каждой (ключу, значению), или null, если такового нет.

<U> U searchEntries(long parallelismThreshold, Function<Map.Entry<K,V>,? extends U> searchFunction)

Возвращает не нулевое значение, полученное при применении заданной функции поиска к каждому элементу, или null, если такового нет.

<U> U searchKeys(long parallelismThreshold, Function<? super K,? extends U> searchFunction)

Возвращает не нулевое значение, полученное при применении заданной функции поиска к каждому ключу, или null, если такового нет.

<U> U searchValues(long parallelismThreshold, Function<? super V,? extends U> searchFunction)

Возвращает не нулевое значение, полученное при применении заданной функции поиска к каждому значению, или null, если такового нет.

int size()

Возвращает количество пар «ключ-значение» в этой карте.

String toString()

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

Collection<V> values()

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

Методы, унаследованные от класса java.util.AbstractMap

clone

Методы, унаследованные от класса java.lang.Object

finalize, getClass, notify, notifyAll, wait, wait, wait

Конструкторы

ConcurrentHashMap

public ConcurrentHashMap()

Создает новую, пустую карту с размером начальной таблицы по умолчанию (16).

ConcurrentHashMap

public ConcurrentHashMap(int initialCapacity)

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

Параметры:
initialCapacity - Реализация выполняет внутреннее изменение размера для размещения такого количества элементов.
Исключения:
IllegalArgumentException - если начальная емкость элементов отрицательна

ConcurrentHashMap

public ConcurrentHashMap(Map<? extends K,? extends V> m)

Создает новую карту с теми же отображениями, что и данная карта.

Параметры:
m - карта

ConcurrentHashMap

public ConcurrentHashMap(int initialCapacity,
                         float loadFactor)

Создает новую, пустую карту с начальным размером таблицы на основе заданного количества элементов (initialCapacity) и начальной плотности таблицы (loadFactor).

Параметры:
initialCapacity - начальная емкость. Реализация выполняет внутреннее изменение размера для размещения такого количества элементов, учитывая заданный коэффициент загрузки.
loadFactor - коэффициент загрузки (плотность таблицы) для установления начального размера таблицы
Исключения:
IllegalArgumentException - если начальная емкость элементов отрицательна или коэффициент загрузки неположителен
С версии:
1.6

ConcurrentHashMap

public ConcurrentHashMap(int initialCapacity,
                         float loadFactor,
                         int concurrencyLevel)

Создает новую, пустую карту с начальным размером таблицы на основе заданного количества элементов (initialCapacity), плотности таблицы (loadFactor) и количества одновременно обновляющих потоков (concurrencyLevel).

Параметры:
initialCapacity - начальная емкость. Реализация выполняет внутреннее изменение размера для размещения такого количества элементов, учитывая заданный коэффициент загрузки.
loadFactor - коэффициент загрузки (плотность таблицы) для установления начального размера таблицы
concurrencyLevel - предполагаемое количество одновременно обновляющих потоков. Реализация может использовать это значение в качестве подсказки для определения размера.
Исключения:
IllegalArgumentException - если начальная емкость отрицательна или коэффициент загрузки или concurrencyLevel неположительны

Методы

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 если эта карта не содержит пар «ключ-значение»

get

public V get(Object key)

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

Более формально, если эта карта содержит сопоставление от ключа k к значению v, такое что key.equals(k), то этот метод возвращает v; в противном случае он возвращает null. (Может быть не более одного такого сопоставления.)

Указано в:
get в интерфейсе Map<K,V>
Переопределяет:
get в классе AbstractMap<K,V>
Параметры:
key - ключ, связанное значение которого должно быть возвращено
Возвращает:
значение, с которым сопоставлен указанный ключ, или null, если эта карта не содержит сопоставления для ключа
Исключения:
NullPointerException - если указанный ключ равен null

containsKey

public boolean containsKey(Object key)

Проверяет, является ли указанный объект ключом в этой таблице.

Указано в:
containsKey в интерфейсе Map<K,V>
Переопределяет:
containsKey в классе AbstractMap<K,V>
Параметры:
key - возможный ключ
Возвращает:
true если и только если указанный объект является ключом в этой таблице, как определено методом equals; false в противном случае
Исключения:
NullPointerException - если указанный ключ равен null

containsValue

public boolean containsValue(Object value)

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

Указано в:
containsValue в интерфейсе Map<K,V>
Переопределяет:
containsValue в классе AbstractMap<K,V>
Параметры:
value - значение, наличие которого в этой карте должно быть проверено
Возвращает:
true если эта карта сопоставляет один или несколько ключей с указанным значением
Исключения:
NullPointerException - если указанное значение равно null

put

public V put(K key,
             V value)

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

Значение можно получить, вызвав метод get с ключом, равным исходному ключу.

Указано в:
put в интерфейсе Map<K,V>
Переопределяет:
put в классе AbstractMap<K,V>
Параметры:
key - ключ, с которым должно быть связано указанное значение
value - значение, которое должно быть связано с указанным ключом
Возвращает:
предыдущее значение, связанное с key, или null, если не было сопоставления для key
Исключения:
NullPointerException - если указанный ключ или значение равны null

putAll

public void putAll(Map<? extends K,? extends V> m)

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

Указано в:
putAll в интерфейсе Map<K,V>
Переопределяет:
putAll в классе AbstractMap<K,V>
Параметры:
m - сопоставления, которые должны быть сохранены в этой карте

remove

public V remove(Object key)

Удаляет ключ (и его соответствующее значение) из этой карты. Этот метод ничего не делает, если ключа нет в карте.

Указано в:
remove в интерфейсе Map<K,V>
Переопределяет:
remove в классе AbstractMap<K,V>
Параметры:
key - ключ, который необходимо удалить
Возвращает:
предыдущее значение, связанное с key, или null, если не было сопоставления для key
Исключения:
NullPointerException - если указанный ключ равен null

clear

public void clear()

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

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

keySet

public ConcurrentHashMap.KeySetView<K,V> keySet()

Возвращает представление Set ключей, содержащихся в этой карте. Множество поддерживается картой, поэтому изменения в карте отражаются в множестве и наоборот. Множество поддерживает удаление элементов, которое удаляет соответствующее сопоставление из этой карты, с помощью операций Iterator.remove, Set.remove, removeAll, retainAll и clear. Оно не поддерживает операции add или addAll.

Итераторы и сплитераторы представления являются слабо согласованными.

spliterator представления сообщает Spliterator.CONCURRENT, Spliterator.DISTINCT и Spliterator.NONNULL.

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

values

public Collection<V> values()

Возвращает представление Collection значений, содержащихся в этой карте. Коллекция поддерживается картой, поэтому изменения в карте отражаются в коллекции и наоборот. Коллекция поддерживает удаление элементов, которое удаляет соответствующее сопоставление из этой карты, с помощью операций Iterator.remove, Collection.remove, removeAll, retainAll и clear. Она не поддерживает операции add или addAll.

Итераторы и сплитераторы представления являются слабо согласованными.

spliterator представления сообщает Spliterator.CONCURRENT и Spliterator.NONNULL.

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

entrySet

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

Возвращает представление Set отображений, содержащихся в этой карте. Множество основано на карте, поэтому изменения в карте отражаются в множестве и наоборот. Множество поддерживает удаление элементов, которое удаляет соответствующее отображение из карты, с помощью операций Iterator.remove, Set.remove, removeAll, retainAll и clear.

Итераторы и сплитераторы представления являются слабо согласованными.

spliterator представления сообщает Spliterator.CONCURRENT, Spliterator.DISTINCT и Spliterator.NONNULL.

Указано в:
entrySet в интерфейсе Map<K,V>
Указано в:
entrySet в классе AbstractMap<K,V>
Возвращает:
представление множества

hashCode

public int hashCode()

Возвращает значение хэш-кода для этой Map, то есть сумму для каждой пары ключ-значение в карте key.hashCode() ^ value.hashCode().

Указано в:
hashCode в интерфейсе Map<K,V>
Переопределяет:
hashCode в классе AbstractMap<K,V>
Возвращает:
значение хэш-кода для этой карты
См. также:
Map.Entry.hashCode(), Object.equals(Object), Set.equals(Object)

toString

public String toString()

Возвращает строковое представление этой карты. Строковое представление состоит из списка отображений ключ-значение (в произвольном порядке), заключенных в фигурные скобки ("{}"). Смежные отображения разделяются символами ", " (запятая и пробел). Каждое отображение ключ-значение отображается как ключ, за которым следует знак равенства ("="), за которым следует связанное значение.

Переопределяет:
toString в классе AbstractMap<K,V>
Возвращает:
строковое представление этой карты

equals

public boolean equals(Object o)

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

Указано в:
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, если для ключа не было сопоставления
Исключения:
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 если значение было удалено
Исключения:
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 если значение было заменено
Исключения:
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, если для ключа не было сопоставления
Исключения:
NullPointerException - если указанный ключ или значение равны null

getOrDefault

public V getOrDefault(Object key,
                      V defaultValue)

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

Указано в:
getOrDefault в интерфейсе ConcurrentMap<K,V>
Указано в:
getOrDefault в интерфейсе Map<K,V>
Параметры:
key - ключ, связанное значение которого должно быть возвращено
defaultValue - значение, которое нужно вернуть, если эта карта не содержит сопоставления для данного ключа
Возвращает:
отображение для ключа, если оно присутствует; иначе значение по умолчанию
Исключения:
NullPointerException - если указанный ключ равен 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 - функция, которую нужно применить к каждой записи

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 - если указанный ключ или mappingFunction равны null
IllegalStateException - если вычисление обнаруживаемо пытается выполнить рекурсивное обновление этой карты, которое в противном случае никогда не завершится
RuntimeException - или Error, если mappingFunction делает это, в этом случае сопоставление остается не установленным

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 — если указанный ключ или remappingFunction равны null
IllegalStateException — если вычисление обнаруживает попытку рекурсивного обновления этой карты, которая иначе никогда не завершится
RuntimeException — или Error, если remappingFunction делает это, в этом случае отображение не изменяется

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 — если указанный ключ или remappingFunction равны null
IllegalStateException — если вычисление обнаруживает попытку рекурсивного обновления этой карты, которая иначе никогда не завершится
RuntimeException — или Error, если remappingFunction делает это, в этом случае отображение не изменяется

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 — если указанный ключ или remappingFunction равны null
RuntimeException — или Error, если remappingFunction делает это, в этом случае отображение не изменяется

contains

public boolean contains(Object value)

Метод legacy, проверяющий, отображается ли некоторый ключ в указанное значение в этой таблице. Этот метод идентичен по функциональности методу containsValue(Object) и существует только для обеспечения полной совместимости с классом Hashtable, который поддерживал этот метод до введения Java Collections framework.

Параметры:
value — значение для поиска
Возвращает:
true тогда и только тогда, когда некоторый ключ отображается в аргумент value, в этой таблице, как определено методом equals; false в противном случае
Выбрасывает:
NullPointerException — если указанное значение равно null

keys

public Enumeration<K> keys()

Возвращает перечисление ключей в этой таблице.

Возвращает:
перечисление ключей в этой таблице
См. также:
keySet()

elements

public Enumeration<V> elements()

Возвращает перечисление значений в этой таблице.

Возвращает:
перечисление значений в этой таблице
См. также:
values()

mappingCount

public long mappingCount()

Возвращает количество отображений. Этот метод следует использовать вместо size(), потому что ConcurrentHashMap может содержать больше отображений, чем может быть представлено как int. Возвращаемое значение является приблизительным; фактическое количество может отличаться, если происходят одновременные вставки или удаления.

Возвращает:
количество отображений
С:
1.8

newKeySet

public static <K> ConcurrentHashMap.KeySetView<K,Boolean> newKeySet()

Создает новый Set, поддерживаемый ConcurrentHashMap, от заданного типа к Boolean.TRUE.

Параметры типа:
K - тип элементов возвращаемого набора
Возвращает:
новый набор
С:
1.8

newKeySet

public static <K> ConcurrentHashMap.KeySetView<K,Boolean> newKeySet(int initialCapacity)

Создает новый Set, поддерживаемый ConcurrentHashMap, от заданного типа к Boolean.TRUE.

Параметры типа:
K - тип элементов возвращаемого набора
Параметры:
initialCapacity - Реализация выполняет внутреннюю настройку размера, чтобы вместить это количество элементов.
Возвращает:
новый набор
Выбрасывает:
IllegalArgumentException - если начальный размер элементов отрицательный
С:
1.8

keySet

public ConcurrentHashMap.KeySetView<K,V> keySet(V mappedValue)

Возвращает представление Set ключей в этой карте, используя заданное общее сопоставленное значение для любых добавлений (т.е., Collection.add(E) и Collection.addAll(Collection)). Это, конечно, подходит только в том случае, если допустимо использовать одно и то же значение для всех добавлений из этого представления.

Параметры:
mappedValue - сопоставленное значение для использования при любых добавлениях
Возвращает:
представление набора
Выбрасывает:
NullPointerException - если mappedValue равно null

forEach

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

Выполняет заданное действие для каждой (ключ, значение).

Параметры:
parallelismThreshold - (приблизительное) количество элементов, необходимое для выполнения этой операции параллельно
action - действие
С:
1.8

forEach

public <U> void forEach(long parallelismThreshold,
                        BiFunction<? super K,? super V,? extends U> transformer,
                        Consumer<? super U> action)

Выполняет заданное действие для каждого не-null преобразования каждой (ключ, значение).

Параметры типа:
U - тип возвращаемого значения преобразователем
Параметры:
parallelismThreshold - (приблизительное) количество элементов, необходимое для выполнения этой операции параллельно
transformer - функция, возвращающая преобразование для элемента, или null, если нет преобразования (в этом случае действие не применяется)
action - действие
С:
1.8

search

public <U> U search(long parallelismThreshold,
                    BiFunction<? super K,? super V,? extends U> searchFunction)

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

Параметры типа:
U - тип возвращаемого значения функции поиска
Параметры:
parallelismThreshold - (приблизительное) количество элементов, необходимое для выполнения этой операции параллельно
searchFunction - функция, возвращающая не-null результат при успехе, иначе null
Возвращает:
не-null результат применения заданной функции поиска к каждой (ключ, значение) паре или null, если нет
С:
1.8

reduce

public <U> U reduce(long parallelismThreshold,
                    BiFunction<? super K,? super V,? extends U> transformer,
                    BiFunction<? super U,? super U,? extends U> reducer)

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

Параметры типа:
U - тип возвращаемого значения преобразователя
Параметры:
parallelismThreshold - (приблизительное) количество элементов, необходимое для выполнения этой операции параллельно
transformer - функция, возвращающая преобразование для элемента, или null, если нет преобразования (в этом случае оно не объединяется)
reducer - коммутативная ассоциативная функция объединения
Возвращает:
результат накопления заданного преобразования всех (ключ, значение) пар
С:
1.8

reduceToDouble

public double reduceToDouble(long parallelismThreshold,
                             ToDoubleBiFunction<? super K,? super V> transformer,
                             double basis,
                             DoubleBinaryOperator reducer)

Возвращает результат накопления заданного преобразования всех (ключ, значение) пар с использованием заданного редуктора для объединения значений и заданного базиса как идентичного значения.

Параметры:
parallelismThreshold - (приблизительное) количество элементов, необходимое для выполнения этой операции параллельно
transformer - функция, возвращающая преобразование для элемента
basis - идентичность (начальное значение по умолчанию) для редукции
reducer - коммутативная ассоциативная функция объединения
Возвращает:
результат накопления заданного преобразования всех (ключ, значение) пар
С:
1.8

reduceToLong

public long reduceToLong(long parallelismThreshold,
                         ToLongBiFunction<? super K,? super V> transformer,
                         long basis,
                         LongBinaryOperator reducer)

Возвращает результат накопления заданного преобразования всех (ключ, значение) пар с использованием заданного редуктора для объединения значений и заданного базиса как идентичного значения.

Параметры:
parallelismThreshold - количество (оценочное) элементов, необходимых для выполнения этой операции параллельно
transformer - функция, возвращающая преобразование для элемента
basis - тождество (начальное значение по умолчанию) для редукции
reducer - коммутативная ассоциативная функция комбинирования
Возвращает:
результат накопления заданного преобразования всех пар (ключ, значение)
С:
1.8

reduceToInt

public int reduceToInt(long parallelismThreshold,
                       ToIntBiFunction<? super K,? super V> transformer,
                       int basis,
                       IntBinaryOperator reducer)

Возвращает результат накопления заданного преобразования всех пар (ключ, значение) с использованием заданного редуктора для объединения значений и заданного базиса в качестве идентичного значения.

Параметры:
parallelismThreshold - количество (оценочное) элементов, необходимых для выполнения этой операции параллельно
transformer - функция, возвращающая преобразование для элемента
basis - тождество (начальное значение по умолчанию) для редукции
reducer - коммутативная ассоциативная функция комбинирования
Возвращает:
результат накопления заданного преобразования всех пар (ключ, значение)
С:
1.8

forEachKey

public void forEachKey(long parallelismThreshold,
                       Consumer<? super K> action)

Выполняет заданное действие для каждого ключа.

Параметры:
parallelismThreshold - количество (оценочное) элементов, необходимых для выполнения этой операции параллельно
action - действие
С:
1.8

forEachKey

public <U> void forEachKey(long parallelismThreshold,
                           Function<? super K,? extends U> transformer,
                           Consumer<? super U> action)

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

Параметры типа:
U - тип возвращаемого значения преобразователя
Параметры:
parallelismThreshold - количество (оценочное) элементов, необходимых для выполнения этой операции параллельно
transformer - функция, возвращающая преобразование для элемента, или null, если преобразования нет (в этом случае действие не применяется)
action - действие
С:
1.8

searchKeys

public <U> U searchKeys(long parallelismThreshold,
                        Function<? super K,? extends U> searchFunction)

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

Параметры типа:
U - тип возвращаемого значения функции поиска
Параметры:
parallelismThreshold - количество (оценочное) элементов, необходимых для выполнения этой операции параллельно
searchFunction - функция, возвращающая ненулевое значение при успехе, иначе null
Возвращает:
ненулевое значение, полученное в результате применения заданной функции поиска к каждому ключу, или null, если такового нет
С:
1.8

reduceKeys

public K reduceKeys(long parallelismThreshold,
                    BiFunction<? super K,? super K,? extends K> reducer)

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

Параметры:
parallelismThreshold - количество (оценочное) элементов, необходимых для выполнения этой операции параллельно
reducer - коммутативная ассоциативная функция комбинирования
Возвращает:
результат накопления всех ключей с использованием заданного редуктора для объединения значений, или null, если таковых нет
С:
1.8

reduceKeys

public <U> U reduceKeys(long parallelismThreshold,
                        Function<? super K,? extends U> transformer,
                        BiFunction<? super U,? super U,? extends U> reducer)

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

Параметры типа:
U - тип возвращаемого значения преобразователя
Параметры:
parallelismThreshold - количество (оценочное) элементов, необходимых для выполнения этой операции параллельно
transformer - функция, возвращающая преобразование для элемента, или null, если преобразования нет (в этом случае оно не комбинируется)
reducer - коммутативная ассоциативная функция комбинирования
Возвращает:
результат накопления заданного преобразования всех ключей
С:
1.8

reduceKeysToDouble

public double reduceKeysToDouble(long parallelismThreshold,
                                 ToDoubleFunction<? super K> transformer,
                                 double basis,
                                 DoubleBinaryOperator reducer)

Возвращает результат накопления заданного преобразования всех ключей с использованием заданного редуктора для объединения значений и заданного базиса в качестве идентичного значения.

Параметры:
parallelismThreshold - количество (оценочное) элементов, необходимых для выполнения этой операции параллельно
transformer - функция, возвращающая преобразование для элемента
basis - тождество (начальное значение по умолчанию) для редукции
reducer - коммутативная ассоциативная функция комбинирования
Возвращает:
результат накопления заданного преобразования всех ключей
С:
1.8

reduceKeysToLong

public long reduceKeysToLong(long parallelismThreshold,
                             ToLongFunction<? super K> transformer,
                             long basis,
                             LongBinaryOperator reducer)

Возвращает результат накопления заданного преобразования всех ключей с использованием заданного редуктора для объединения значений и заданного базиса в качестве идентичного значения.

Параметры:
parallelismThreshold - количество (оценочное) элементов, необходимых для выполнения этой операции параллельно
transformer - функция, возвращающая преобразование для элемента
basis - тождество (начальное значение по умолчанию) для редукции
reducer - коммутативная ассоциативная функция комбинирования
Возвращает:
результат накопления заданного преобразования всех ключей
С:
1.8

reduceKeysToInt

public int reduceKeysToInt(long parallelismThreshold,
                           ToIntFunction<? super K> transformer,
                           int basis,
                           IntBinaryOperator reducer)

Возвращает результат накопления заданного преобразования всех ключей с использованием заданного редуктора для объединения значений и заданного базиса в качестве идентичного значения.

Параметры:
parallelismThreshold - количество (оценочное) элементов, необходимых для выполнения этой операции параллельно
transformer - функция, возвращающая преобразование для элемента
basis - тождество (начальное значение по умолчанию) для редукции
reducer - коммутативная ассоциативная функция комбинирования
Возвращает:
результат накопления заданного преобразования всех ключей
С:
1.8

forEachValue

public void forEachValue(long parallelismThreshold,
                         Consumer<? super V> action)

Выполняет заданное действие для каждого значения.

Параметры:
parallelismThreshold - количество (оценочное) элементов, необходимых для выполнения этой операции параллельно
action - действие
С:
1.8

forEachValue

public <U> void forEachValue(long parallelismThreshold,
                             Function<? super V,? extends U> transformer,
                             Consumer<? super U> action)

Выполняет заданное действие для каждого не нулевого преобразования каждого значения.

Параметры типа:
U - тип возвращаемого значения преобразователя
Параметры:
parallelismThreshold - количество (оценочное) элементов, необходимых для выполнения этой операции параллельно
transformer - функция, возвращающая преобразование для элемента, или null, если преобразования нет (в этом случае действие не применяется)
action - действие
С:
1.8

searchValues

public <U> U searchValues(long parallelismThreshold,
                          Function<? super V,? extends U> searchFunction)

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

Параметры типа:
U - тип возвращаемого значения функции поиска
Параметры:
parallelismThreshold - количество (оценочное) элементов, необходимых для выполнения этой операции параллельно
searchFunction - функция, возвращающая ненулевое значение при успехе, иначе null
Возвращает:
ненулевое значение, полученное в результате применения заданной функции поиска к каждому значению, или null, если такового нет
С:
1.8

reduceValues

public V reduceValues(long parallelismThreshold,
                      BiFunction<? super V,? super V,? extends V> reducer)

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

Параметры:
parallelismThreshold - количество (оценочное) элементов, необходимых для выполнения этой операции параллельно
reducer - коммутативная ассоциативная функция комбинирования
Возвращает:
результат накопления всех значений
С:
1.8

reduceValues

public <U> U reduceValues(long parallelismThreshold,
                          Function<? super V,? extends U> transformer,
                          BiFunction<? super U,? super U,? extends U> reducer)

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

Параметры типа:
U - тип возвращаемого значения преобразователя
Параметры:
parallelismThreshold - количество (оценочное) элементов, необходимых для выполнения этой операции параллельно
transformer - функция, возвращающая преобразование для элемента, или null, если преобразования нет (в этом случае оно не комбинируется)
reducer - коммутативная ассоциативная функция комбинирования
Возвращает:
результат накопления заданного преобразования всех значений
С:
1.8

reduceValuesToDouble

public double reduceValuesToDouble(long parallelismThreshold,
                                   ToDoubleFunction<? super V> transformer,
                                   double basis,
                                   DoubleBinaryOperator reducer)

Возвращает результат накопления заданного преобразования всех значений с использованием заданного редуктора для объединения значений и заданного базиса в качестве идентичного значения.

Параметры:
parallelismThreshold - количество (оценочное) элементов, необходимых для выполнения этой операции параллельно
transformer - функция, возвращающая преобразование для элемента
basis - тождество (начальное значение по умолчанию) для редукции
reducer - коммутативная ассоциативная функция комбинирования
Возвращает:
результат накопления заданного преобразования всех значений
С:
1.8

reduceValuesToLong

public long reduceValuesToLong(long parallelismThreshold,
                               ToLongFunction<? super V> transformer,
                               long basis,
                               LongBinaryOperator reducer)

Возвращает результат накопления заданного преобразования всех значений с использованием заданного редуктора для объединения значений и заданного базиса в качестве идентичного значения.

Параметры:
parallelismThreshold - (оценочное) количество элементов, необходимое для выполнения данной операции параллельно
transformer - функция, возвращающая преобразование для элемента
basis - тождество (начальное значение по умолчанию) для редукции
reducer - коммутативная ассоциативная функция объединения
Возвращает:
результат накопления заданного преобразования всех значений
С:
1.8

reduceValuesToInt

public int reduceValuesToInt(long parallelismThreshold,
                             ToIntFunction<? super V> transformer,
                             int basis,
                             IntBinaryOperator reducer)

Возвращает результат накопления заданного преобразования всех значений с использованием заданного редуктора для объединения значений и заданного базиса в качестве идентичного значения.

Параметры:
parallelismThreshold - (оценочное) количество элементов, необходимое для выполнения данной операции параллельно
transformer - функция, возвращающая преобразование для элемента
basis - тождество (начальное значение по умолчанию) для редукции
reducer - коммутативная ассоциативная функция объединения
Возвращает:
результат накопления заданного преобразования всех значений
С:
1.8

forEachEntry

public void forEachEntry(long parallelismThreshold,
                         Consumer<? super Map.Entry<K,V>> action)

Выполняет заданное действие для каждой записи.

Параметры:
parallelismThreshold - (оценочное) количество элементов, необходимое для выполнения данной операции параллельно
action - действие
С:
1.8

forEachEntry

public <U> void forEachEntry(long parallelismThreshold,
                             Function<Map.Entry<K,V>,? extends U> transformer,
                             Consumer<? super U> action)

Выполняет заданное действие для каждого непустого преобразования каждой записи.

Параметры типа:
U - тип возвращаемого значения преобразователя
Параметры:
parallelismThreshold - (оценочное) количество элементов, необходимое для выполнения данной операции параллельно
transformer - функция, возвращающая преобразование для элемента, или null, если преобразования нет (в этом случае действие не применяется)
action - действие
С:
1.8

searchEntries

public <U> U searchEntries(long parallelismThreshold,
                           Function<Map.Entry<K,V>,? extends U> searchFunction)

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

Параметры типа:
U - тип возвращаемого значения функции поиска
Параметры:
parallelismThreshold - (оценочное) количество элементов, необходимое для выполнения данной операции параллельно
searchFunction - функция, возвращающая непустой результат при успехе, иначе null
Возвращает:
непустой результат применения заданной функции поиска к каждой записи или null, если таковой отсутствует
С:
1.8

reduceEntries

public Map.Entry<K,V> reduceEntries(long parallelismThreshold,
                                    BiFunction<Map.Entry<K,V>,Map.Entry<K,V>,? extends Map.Entry<K,V>> reducer)

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

Параметры:
parallelismThreshold - (оценочное) количество элементов, необходимое для выполнения данной операции параллельно
reducer - коммутативная ассоциативная функция объединения
Возвращает:
результат накопления всех записей
С:
1.8

reduceEntries

public <U> U reduceEntries(long parallelismThreshold,
                           Function<Map.Entry<K,V>,? extends U> transformer,
                           BiFunction<? super U,? super U,? extends U> reducer)

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

Параметры типа:
U - тип возвращаемого значения преобразователя
Параметры:
parallelismThreshold - (оценочное) количество элементов, необходимое для выполнения данной операции параллельно
transformer - функция, возвращающая преобразование для элемента, или null, если преобразования нет (в этом случае оно не комбинируется)
reducer - коммутативная ассоциативная функция объединения
Возвращает:
результат накопления заданного преобразования всех записей
С:
1.8

reduceEntriesToDouble

public double reduceEntriesToDouble(long parallelismThreshold,
                                    ToDoubleFunction<Map.Entry<K,V>> transformer,
                                    double basis,
                                    DoubleBinaryOperator reducer)

Возвращает результат накопления заданного преобразования всех записей с использованием заданного редуктора для объединения значений и заданного базиса в качестве идентичного значения.

Параметры:
parallelismThreshold - (оценочное) количество элементов, необходимое для выполнения данной операции параллельно
transformer - функция, возвращающая преобразование для элемента
basis - тождество (начальное значение по умолчанию) для редукции
reducer - коммутативная ассоциативная функция объединения
Возвращает:
результат накопления заданного преобразования всех записей
С:
1.8

reduceEntriesToLong

public long reduceEntriesToLong(long parallelismThreshold,
                                ToLongFunction<Map.Entry<K,V>> transformer,
                                long basis,
                                LongBinaryOperator reducer)

Возвращает результат накопления заданного преобразования всех записей с использованием заданного редуктора для объединения значений и заданного базиса в качестве идентичного значения.

Параметры:
parallelismThreshold - (оценочное) количество элементов, необходимое для выполнения данной операции параллельно
transformer - функция, возвращающая преобразование для элемента
basis - тождество (начальное значение по умолчанию) для редукции
reducer - коммутативная ассоциативная функция объединения
Возвращает:
результат накопления заданного преобразования всех записей
С:
1.8

reduceEntriesToInt

public int reduceEntriesToInt(long parallelismThreshold,
                              ToIntFunction<Map.Entry<K,V>> transformer,
                              int basis,
                              IntBinaryOperator reducer)

Возвращает результат накопления заданного преобразования всех записей с использованием заданного редуктора для объединения значений и заданного базиса в качестве идентичного значения.

Параметры:
parallelismThreshold - (оценочное) количество элементов, необходимое для выполнения данной операции параллельно
transformer - функция, возвращающая преобразование для элемента
basis - тождество (начальное значение по умолчанию) для редукции
reducer - коммутативная ассоциативная функция объединения
Возвращает:
результат накопления заданного преобразования всех записей
С:
1.8

© 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