Класс 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 как |
Вложенные классы/интерфейсы, унаследованные от класса 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) Создаёт новую, пустую карту с начальным размером таблицы, основанным на заданном количестве элементов ( |
ConcurrentHashMap(int initialCapacity,
float loadFactor,
int concurrencyLevel) Создаёт новую карту с теми же соответствиями, что и в заданной карте. |
Методы
| Модификатор и тип | Метод и описание |
|---|---|
void |
clear() Удаляет все сопоставления из этой карты. |
V |
compute(K key,
BiFunction<? super K,? super V,? extends V> remappingFunction) Попытка вычислить сопоставление для указанного ключа и его текущего сопоставленного значения (или |
V |
computeIfAbsent(K key,
Function<? super K,? extends V> mappingFunction) Если указанный ключ еще не связан со значением, пытается вычислить его значение с помощью заданной функции сопоставления и вводит его в эту карту, если |
V |
computeIfPresent(K key,
BiFunction<? super K,? super V,? extends V> remappingFunction) Если значение для указанного ключа присутствует, пытается вычислить новое сопоставление, используя ключ и его текущее сопоставленное значение. |
boolean |
contains(Object value) Метод, предназначенный для проверки, отображает ли в данной таблице какой-либо ключ в указанное значение. |
boolean |
containsKey(Object key) Проверяет, является ли указанный объект ключом в этой таблице. |
boolean |
containsValue(Object value) Возвращает |
Enumeration<V> |
elements() Возвращает перечисление значений в этой таблице. |
Set<Map.Entry<K,V>> |
entrySet() Возвращает |
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) Возвращает значение, которому сопоставлен указанный ключ, или |
V |
getOrDefault(Object key,
V defaultValue) Возвращает значение, которому сопоставлен указанный ключ, или заданное значение по умолчанию, если в этой карте нет сопоставления для ключа. |
int |
hashCode() Возвращает значение хэш-кода для этой |
boolean |
isEmpty() Возвращает |
Enumeration<K> |
keys() Возвращает перечисление ключей в этой таблице. |
ConcurrentHashMap.KeySetView<K,V> |
keySet() Возвращает |
ConcurrentHashMap.KeySetView<K,V> |
keySet(V mappedValue) Возвращает |
long |
mappingCount() Возвращает количество сопоставлений. |
V |
merge(K key,
V value,
BiFunction<? super V,? super V,? extends V> remappingFunction) Если указанный ключ еще не связан со значением (не null), связывает его с заданным значением. |
static <K> ConcurrentHashMap.KeySetView<K,Boolean> |
newKeySet() Создает новый |
static <K> ConcurrentHashMap.KeySetView<K,Boolean> |
newKeySet(int initialCapacity) Создает новый |
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() Возвращает представление |
Методы, унаследованные от класса 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()
Удаляет все сопоставления из этой карты.
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.