Класс ConcurrentHashMap.KeySetView<K,V>
- java.lang.Object
-
- java.util.concurrent.ConcurrentHashMap.KeySetView<K,V>
- Все реализованные интерфейсы:
- Serializable, Iterable<K>, Collection<K>, Set<K>
- Вложенный класс:
- ConcurrentHashMap<K,V>
public static class ConcurrentHashMap.KeySetView<K,V> extends Object implements Set<K>, Serializable
Представление ConcurrentHashMap как Set ключей, в котором добавление может быть необязательно включено, сопоставляя ключи с общим значением. Этот класс нельзя создать напрямую. Смотрите keySet(), keySet(V), newKeySet(), newKeySet(int).
- С тех пор:
- 1.8
- См. также:
- Сериализованная форма
Методы
| Модификатор и тип | Метод и описание |
|---|---|
boolean |
add(K e) Добавляет указанный ключ в это множество, сопоставляя ключ с значением по умолчанию в базовой карте, если оно определено. |
boolean |
addAll(Collection<? extends K> c) Добавляет все элементы из указанного набора в это множество, как если бы вызывали |
void |
clear() Удаляет все элементы из этого представления, удаляя все сопоставления из карты, лежащей в основе этого представления. |
boolean |
contains(Object o) Возвращает |
boolean |
containsAll(Collection<?> c) Возвращает |
boolean |
equals(Object o) Указывает, является ли другой объект "равным" этому. |
void |
forEach(Consumer<? super K> action) Выполняет заданное действие для каждого элемента |
ConcurrentHashMap<K,V> |
getMap() Возвращает карту, лежащую в основе этого представления. |
V |
getMappedValue() Возвращает значение по умолчанию для добавлений или |
int |
hashCode() Возвращает хэш-код объекта. |
boolean |
isEmpty() Возвращает |
Iterator<K> |
iterator() Возвращает итератор по элементам в этой коллекции. |
boolean |
remove(Object o) Удаляет ключ из этого представления карты, удалив ключ (и соответствующее значение) из базовой карты. |
boolean |
removeAll(Collection<?> c) Удаляет все элементы этой коллекции, которые также содержатся в указанной коллекции (необязательная операция). |
boolean |
retainAll(Collection<?> c) Оставляет только элементы в этой коллекции, которые содержатся в указанной коллекции (необязательная операция). |
int |
size() Возвращает количество элементов в этой коллекции. |
Spliterator<K> |
spliterator() Создаёт |
Object[] |
toArray() Возвращает массив, содержащий все элементы в этой коллекции. |
<T> T[] |
toArray(T[] a) Возвращает массив, содержащий все элементы в этой коллекции; тип возвращаемого массива соответствует указанному массиву. |
String |
toString() Возвращает строковое представление этой коллекции. |
Методы, унаследованные от класса java.lang.Object
clone, finalize, getClass, notify, notifyAll, wait, wait, wait Методы, унаследованные от интерфейса java.util.Set
clear, containsAll, isEmpty, removeAll, retainAll, size, toArray, toArray Методы, унаследованные от интерфейса java.util.Collection
parallelStream, removeIf, stream Методы
getMappedValue
public V getMappedValue()
Возвращает значение по умолчанию для добавлений или null если добавления не поддерживаются.
- Возвращает:
- значение по умолчанию для добавлений или
nullесли не поддерживается
contains
public boolean contains(Object o)
Возвращает true если эта коллекция содержит указанный элемент. Более формально, возвращает true тогда и только тогда, когда эта коллекция содержит по крайней мере один элемент e такой, что (o==null ? e==null : o.equals(e)).
- Указано в:
-
containsв интерфейсеCollection<K> - Указано в:
-
containsв интерфейсеSet<K> - Параметры:
-
o- элемент, присутствие которого в этой коллекции должно быть проверено - Возвращает:
-
trueесли эта коллекция содержит указанный элемент - Выбрасывает:
-
NullPointerException- если указанный ключ равен null
remove
public boolean remove(Object o)
Удаляет ключ из этого представления карты, удалив ключ (и соответствующее значение) из базовой карты. Этот метод ничего не делает, если ключ не находится в карте.
- Указано в:
-
removeв интерфейсеCollection<K> - Указано в:
-
removeв интерфейсеSet<K> - Параметры:
-
o- ключ, который должен быть удален из базовой карты - Возвращает:
-
trueесли базовая карта содержала указанный ключ - Выбрасывает:
-
NullPointerException- если указанный ключ равен null
iterator
public Iterator<K> iterator()
Возвращает итератор по элементам в этой коллекции.
Возвращаемый итератор является слабо согласованным.
- Указано в:
-
iteratorв интерфейсеIterable<K> - Указано в:
-
iteratorв интерфейсеCollection<K> - Указано в:
-
iteratorв интерфейсеSet<K> - Возвращает:
- итератор по ключам базовой карты
add
public boolean add(K e)
Добавляет указанный ключ к этому представлению набора, сопоставляя ключ со значением по умолчанию в базовой карте, если оно определено.
- Указано в:
-
addв интерфейсеCollection<K> - Указано в:
-
addв интерфейсеSet<K> - Параметры:
-
e- ключ, который нужно добавить - Возвращает:
-
trueесли этот набор изменился в результате вызова - Выбрасывает:
-
NullPointerException- если указанный ключ равен null -
UnsupportedOperationException- если значение по умолчанию для добавлений не было предоставлено
addAll
public boolean addAll(Collection<? extends K> c)
Добавляет все элементы из указанной коллекции в этот набор, как если бы вызывали add(K) для каждого из них.
- Указано в:
-
addAllв интерфейсеCollection<K> - Указано в:
-
addAllв интерфейсеSet<K> - Параметры:
-
c- элементы, которые нужно вставить в этот набор - Возвращает:
-
trueесли этот набор изменился в результате вызова - Выбрасывает:
-
NullPointerException- если коллекция или любой из ее элементов являютсяnull -
UnsupportedOperationException- если значение по умолчанию для добавлений не было предоставлено - См. также:
Set.add(Object)
hashCode
public int hashCode()
Описание скопировано из класса: Object
Возвращает значение хэш-кода для объекта. Этот метод поддерживается для выгоды хэш-таблиц, таких как те, которые предоставляются HashMap.
Общий контракт hashCode:
- Всякий раз, когда он вызывается на одном и том же объекте более одного раза во время выполнения Java-приложения, метод
hashCodeдолжен последовательно возвращать одно и то же целое число, при условии, что никакая информация, используемая вequalsсравнениях объекта, не изменяется. Это целое число не обязательно должно оставаться постоянным от одного выполнения приложения к другому выполнению того же приложения. - Если два объекта равны в соответствии с методом
equals(Object), то вызов методаhashCodeдля каждого из двух объектов должен дать один и тот же целочисленный результат. - Не требуется, чтобы если два объекта не равны в соответствии с методом
Object.equals(java.lang.Object), то вызов методаhashCodeдля каждого из двух объектов должен давать различные целочисленные результаты. Однако программист должен понимать, что получение различных целочисленных результатов для неравных объектов может улучшить производительность хэш-таблиц.
Насколько это практически возможно, метод hashCode, определенный классом Object, возвращает различные целые числа для различных объектов. (Обычно это реализуется путем преобразования внутреннего адреса объекта в целое число, но эта методика реализации не требуется языком программирования Java™).
- Указано в:
-
hashCodeв интерфейсеCollection<K> - Указано в:
-
hashCodeв интерфейсеSet<K> - Переопределяет:
-
hashCodeв классеObject - Возвращает:
- значение хэш-кода для этого объекта.
- См. также:
-
Object.equals(java.lang.Object),System.identityHashCode(java.lang.Object)
equals
public boolean equals(Object o)
Описание скопировано из класса: Object
Указывает, является ли какой-либо другой объект "равным" этому объекту.
Метод equals реализует отношение эквивалентности на не-null ссылках на объекты:
- Он является рефлексивным: для любого не-null значения ссылки
x,x.equals(x)должен возвращатьtrue. - Он является симметричным: для любых не-null значений ссылок
xиy,x.equals(y)должен возвращатьtrueтогда и только тогда, когдаy.equals(x)возвращаетtrue. - Он является транзитивным: для любых не-null значений ссылок
x,y, иz, еслиx.equals(y)возвращаетtrueиy.equals(z)возвращаетtrue, тоx.equals(z)должен возвращатьtrue. - Он является согласованным: для любых не-null значений ссылок
xиy, многократные вызовыx.equals(y)последовательно возвращаютtrueили последовательно возвращаютfalse, при условии, что никакая информация, используемая вequalsсравнениях объектов, не изменяется. - Для любого не-null значения ссылки
x,x.equals(null)должен возвращатьfalse.
Метод equals для класса Object реализует наиболее дискриминационное возможное отношение эквивалентности на объектах; то есть, для любых не-null значений ссылок x и y, этот метод возвращает true тогда и только тогда, когда x и y ссылаются на один и тот же объект (x == y имеет значение true).
Обратите внимание, что обычно необходимо переопределять метод hashCode всякий раз, когда этот метод переопределяется, чтобы поддерживать общий контракт для метода hashCode, который утверждает, что равные объекты должны иметь равные хэш-коды.
- Указано в:
-
equalsв интерфейсеCollection<K> - Указано в:
-
equalsв интерфейсеSet<K> - Переопределяет:
-
equalsв классеObject - Параметры:
-
o- объект-ссылка, с которым нужно сравнить. - Возвращает:
-
trueесли этот объект такой же, как аргумент obj;falseв противном случае. - См. также:
-
Object.hashCode(),HashMap
spliterator
public Spliterator<K> spliterator()
Описание скопировано из интерфейса: Set
Создает Spliterator по элементам в этом наборе.
Spliterator сообщает Spliterator.DISTINCT. Реализации должны документировать отчет о дополнительных характеристических значениях.
- Указано в:
-
spliteratorв интерфейсеIterable<K> - Указано в:
-
spliteratorв интерфейсеCollection<K> - Указано в:
-
spliteratorв интерфейсеSet<K> - Возвращает:
Spliteratorпо элементам в этом наборе
forEach
public void forEach(Consumer<? super K> action)
Описание скопировано из интерфейса: Iterable
Выполняет заданное действие для каждого элемента Iterable до тех пор, пока все элементы не будут обработаны или действие не выбросит исключение. Если не указано иначе реализующим классом, действия выполняются в порядке итерации (если порядок итерации указан). Исключение, выброшенное действием, передается вызывающему объекту.
- Указано в:
-
forEachв интерфейсеIterable<K> - Параметры:
-
action- действие, которое должно быть выполнено для каждого элемента
getMap
public ConcurrentHashMap<K,V> getMap()
Возвращает карту, лежащую в основе этого представления.
- Возвращает:
- карта, лежащая в основе этого представления
clear
public final void clear()
Удаляет все элементы из этого представления, удалив все отображения из карты, лежащей в основе этого представления.
- Указано в:
-
clearв интерфейсеCollection<E>
size
public final int size()
Описание скопировано из интерфейса: Collection
Возвращает количество элементов в этом наборе. Если этот набор содержит более чем Integer.MAX_VALUE элементов, возвращает Integer.MAX_VALUE.
- Определено в:
-
sizeв интерфейсеCollection<E> - Возвращает:
- количество элементов в этом наборе
isEmpty
public final boolean isEmpty()
Описание скопировано из интерфейса: Collection
Возвращает true, если этот набор не содержит элементов.
- Определено в:
-
isEmptyв интерфейсеCollection<E> - Возвращает:
-
trueесли этот набор не содержит элементов
toArray
public final Object[] toArray()
Описание скопировано из интерфейса: Collection
Возвращает массив, содержащий все элементы этого набора. Если этот набор гарантирует порядок возвращения элементов своим итератором, этот метод должен вернуть элементы в том же порядке.
Возвращаемый массив будет «безопасным» в том смысле, что к нему не сохраняются ссылки из этого набора. (Другими словами, этот метод должен выделить новый массив, даже если этот набор поддерживается массивом). Таким образом, вызывающая сторона свободна изменять возвращаемый массив.
Этот метод действует как мост между основанными на массивах и основанными на наборах API.
- Определено в:
-
toArrayв интерфейсеCollection<E> - Возвращает:
- массив, содержащий все элементы этого набора
toArray
public final <T> T[] toArray(T[] a)
Описание скопировано из интерфейса: Collection
Возвращает массив, содержащий все элементы этого набора; тип времени выполнения возвращаемого массива — тип указанного массива. Если набор помещается в указанный массив, он возвращается в нём. В противном случае выделяется новый массив с типом времени выполнения указанного массива и размером этого набора.
Если этот набор помещается в указанный массив с избыточным местом (т.е. массив имеет больше элементов, чем этот набор), элемент в массиве сразу после конца набора устанавливается в null. (Это полезно для определения длины этого набора только если вызывающая сторона знает, что этот набор не содержит ни одного null элемента.)
Если этот набор гарантирует порядок возвращения элементов своим итератором, этот метод должен вернуть элементы в том же порядке.
Как и метод Collection.toArray(), этот метод действует как мост между основанными на массивах и основанными на наборах API. Кроме того, этот метод позволяет точно контролировать тип времени выполнения выходного массива и может в определенных обстоятельствах использоваться для экономии затрат на выделение памяти.
Предположим, что x — это набор, известный тем, что содержит только строки. Следующий код может использоваться для выгрузки набора в новый выделенный массив String:
String[] y = x.toArray(new String[0]);Обратите внимание, что
toArray(new Object[0]) идентичен по функции toArray().- Определено в:
-
toArrayв интерфейсеCollection<E> - Параметры типа:
-
T- тип времени выполнения массива для хранения набора - Параметры:
-
a- массив, в который должны быть помещены элементы этого набора, если он достаточно велик; в противном случае для этой цели выделяется новый массив того же типа времени выполнения. - Возвращает:
- массив, содержащий все элементы этого набора
toString
public final String toString()
Возвращает строковое представление этого набора. Строковое представление состоит из строковых представлений элементов набора в порядке, в котором они возвращаются его итератором, заключённых в квадратные скобки ("[]"). Смежные элементы разделяются символами ", " (запятая и пробел). Элементы преобразуются в строки по методу String.valueOf(Object).
containsAll
public final boolean containsAll(Collection<?> c)
Описание скопировано из интерфейса: Collection
Возвращает true , если этот набор содержит все элементы в указанном наборе.
- Определено в:
-
containsAllв интерфейсеCollection<E> - Параметры:
-
c- набор, подлежащий проверке на включение в этот набор - Возвращает:
-
trueесли этот набор содержит все элементы в указанном наборе - См. также:
Collection.contains(Object)
removeAll
public final boolean removeAll(Collection<?> c)
Описание скопировано из интерфейса: Collection
Удаляет все элементы этого набора, которые также содержатся в указанном наборе (необязательная операция). После возврата этого вызова этот набор не будет содержать общих элементов с указанным набором.
- Определено в:
-
removeAllв интерфейсеCollection<E> - Параметры:
-
c- набор, содержащий элементы, которые нужно удалить из этого набора - Возвращает:
-
trueесли этот набор изменился в результате вызова - См. также:
-
Collection.remove(Object),Collection.contains(Object)
retainAll
public final boolean retainAll(Collection<?> c)
Описание скопировано из интерфейса: Collection
Сохраняет только элементы в этом наборе, которые содержатся в указанном наборе (необязательная операция). Другими словами, удаляет из этого набора все его элементы, которые не содержатся в указанном наборе.
- Определено в:
-
retainAllв интерфейсеCollection<E> - Параметры:
-
c- набор, содержащий элементы, которые нужно сохранить в этом наборе - Возвращает:
-
trueесли этот набор изменился в результате вызова - См. также:
-
Collection.remove(Object),Collection.contains(Object)
© 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.