java.lang.Object
java.util.concurrent.ConcurrentHashMap.KeySetView<K,V>
- 类型参数:
-
K
- 键的类型 -
V
- 后备映射中值的类型
- 所有已实现的接口:
-
Serializable
,Iterable<K>
,Collection<K>
,Set<K>
- 封装类:
-
ConcurrentHashMap<K,
V>
public static final class ConcurrentHashMap.KeySetView<K,V> extends Object implements Set<K>, Serializable
将ConcurrentHashMap视为键的
Set
,可以通过将键映射到公共值来选择性地启用添加。此类不能直接实例化。请参见keySet()
,keySet(V)
,newKeySet()
,newKeySet(int)
。
- 自版本:
- 1.8
- 另请参阅:
-
Method Summary
Modifier and TypeMethodDescriptionboolean
通过将指定键映射到后备映射中的默认映射值,将指定键添加到此集视图。boolean
addAll
(Collection<? extends K> c) 将指定集合中的所有元素添加到此集合中,就好像对每个元素调用add(K)
一样。final void
clear()
通过从支持此视图的映射中删除所有映射,从而删除此视图中的所有元素。boolean
如果此集合包含指定的元素,则返回true
。final boolean
containsAll
(Collection<?> c) 如果此集合包含指定集合中的所有元素,则返回true
。boolean
指示某个其他对象是否与此对象“相等”。getMap()
返回支持此视图的映射。返回用于添加的默认映射值,如果不支持添加,则返回null
。int
hashCode()
返回对象的哈希码值。final boolean
isEmpty()
如果此集合不包含任何元素,则返回true
。iterator()
返回此集合中元素的迭代器。boolean
通过从支持此视图的映射中删除键(及其对应的值)来从此映射视图中删除键。boolean
removeAll
(Collection<?> c) 删除此集合中同时包含在指定集合中的所有元素(可选操作)。final boolean
retainAll
(Collection<?> c) 仅保留此集合中包含在指定集合中的元素(可选操作)。final int
size()
返回此集合中的元素数量。final Object[]
toArray()
返回包含此集合中所有元素的数组。final <T> T[]
toArray
(T[] a) 返回包含此集合中所有元素的数组;返回数组的运行时类型与指定数组的类型相同。final String
toString()
返回此集合的字符串表示形式。Methods declared in class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait
Methods declared in interface java.util.Collection
parallelStream, removeIf, stream, toArray
Methods declared in interface java.util.Set
clear, containsAll, isEmpty, removeAll, retainAll, size, spliterator, toArray, toArray
-
Method Details
-
getMappedValue
返回用于添加的默认映射值,如果不支持添加,则返回null
。- 返回:
-
用于添加的默认映射值,如果不支持则返回
null
-
contains
如果此集合包含指定元素,则返回true
。更正式地说,如果此集合包含至少一个元素e
,使得Objects.equals(o, e)
,则返回true
。- 指定者:
-
contains
在接口Collection<K>
中 - 指定者:
-
contains
在接口Set<K>
中 - 参数:
-
o
- 要测试其在此集合中是否存在的元素 - 返回:
-
如果此集合包含指定元素,则返回
true
- 抛出:
-
NullPointerException
- 如果指定的键为null
-
remove
通过从支持此视图的映射中删除键(及其对应的值)来从此映射视图中删除键。如果键不在映射中,则此方法不执行任何操作。- 指定者:
-
remove
在接口Collection<K>
中 - 指定者:
-
remove
在接口Set<K>
中 - 参数:
-
o
- 要从后备映射中删除的键 - 返回:
-
如果后备映射包含指定键,则返回
true
- 抛出:
-
NullPointerException
- 如果指定的键为null
-
iterator
返回此集合中元素的迭代器。返回的迭代器是弱一致的。
-
add
通过将指定键映射到后备映射中的默认映射值,将指定键添加到此集视图。- 指定者:
-
add
在接口Collection<K>
中 - 指定者:
-
add
在接口Set<K>
中 - 参数:
-
e
- 要添加的键 - 返回:
-
如果调用结果导致此集合更改,则返回
true
- 抛出:
-
NullPointerException
- 如果指定的键为null -
UnsupportedOperationException
- 如果未提供用于添加的默认映射值
-
addAll
将指定集合中的所有元素添加到此集合中,就好像对每个元素调用add(K)
一样。- 指定者:
-
addAll
在接口Collection<K>
中 - 指定者:
-
addAll
在接口Set<K>
中 - 参数:
-
c
- 要插入此集合的元素 - 返回:
-
如果调用结果导致此集合更改,则返回
true
- 抛出:
-
NullPointerException
- 如果集合或其任何元素为null
-
UnsupportedOperationException
- 如果未提供用于添加的默认映射值 - 另请参阅:
-
hashCode
public int hashCode()从类中复制的描述:Object
返回对象的哈希码值。此方法支持哈希表(如由HashMap
提供的那些)的好处。hashCode
的一般合同是: -
equals
从类中复制的描述:Object
指示某个其他对象是否与此对象“相等”。equals
方法在非空对象引用上实现等价关系:- 它是自反的:对于任何非空引用值
x
,x.equals(x)
应该返回true
。 - 它是对称的:对于任何非空引用值
x
和y
,如果x.equals(y)
返回true
,则只有当y.equals(x)
返回true
时,x.equals(y)
才应该返回true
。 - 它是传递的:对于任何非空引用值
x
,y
和z
,如果x.equals(y)
返回true
并且y.equals(z)
返回true
,则x.equals(z)
应该返回true
。 - 它是一致的:对于任何非空引用值
x
和y
,多次调用x.equals(y)
必须一致地返回true
或一致地返回false
,前提是在对象的equals
比较中使用的信息未被修改。 - 对于任何非空引用值
x
,x.equals(null)
应该返回false
。
等价关系将其操作的元素划分为等价类;等价类的所有成员彼此相等。等价类的成员可以互换使用,至少对于某些目的而言是这样。
- 它是自反的:对于任何非空引用值
-
getMap
返回支持此视图的映射。- 返回:
- 支持此视图的映射
-
clear
public final void clear()从此视图中删除所有元素,通过从支持此视图的映射中删除所有映射。- 指定者:
-
clear
在接口Collection<K>
-
size
public final int size()从接口中复制的描述:Collection
返回此集合中的元素数。如果此集合包含的元素数超过Integer.MAX_VALUE
,则返回Integer.MAX_VALUE
。- 指定者:
-
size
在接口Collection<K>
- 返回:
- 此集合中的元素数
-
isEmpty
public final boolean isEmpty()从接口中复制的描述:Collection
如果此集合不包含任何元素,则返回true
。- 指定者:
-
isEmpty
在接口Collection<K>
- 返回:
-
如果此集合不包含任何元素,则返回
true
-
toArray
从接口中复制的描述:Collection
返回一个包含此集合中所有元素的数组。如果此集合对其元素由其迭代器返回的顺序有任何保证,则此方法必须以相同顺序返回元素。返回的数组的运行时组件类型为Object
。返回的数组将是“安全的”,即此集合不会保留对其的任何引用。(换句话说,即使此集合由数组支持,此方法也必须分配一个新数组)。因此,调用者可以自由修改返回的数组。
- 指定者:
-
toArray
在接口Collection<K>
- 返回:
-
一个数组,其运行时组件类型为
Object
,包含此集合中的所有元素
-
toArray
public final <T> T[] toArray(T[] a) 从接口中复制的描述:Collection
返回一个包含此集合中所有元素的数组;返回数组的运行时类型与指定数组的类型相同。如果集合适合于指定数组,则将其返回。否则,将使用指定数组的运行时类型和此集合的大小分配一个新数组。如果此集合适合于指定数组并有多余空间(即,数组的元素多于此集合的元素),则紧接在集合末尾的数组元素设置为
null
。(仅当调用者知道此集合不包含任何null
元素时,这对于确定此集合的长度非常有用。)如果此集合对其元素由其迭代器返回的顺序有任何保证,则此方法必须以相同顺序返回元素。
- 指定者:
-
toArray
在接口Collection<K>
- 类型参数:
-
T
- 包含集合的数组的组件类型 - 参数:
-
a
- 要存储此集合元素的数组,如果足够大;否则,将为此目的分配相同运行时类型的新数组。 - 返回:
- 包含此集合中所有元素的数组
-
toString
返回此集合的字符串表示形式。字符串表示形式由集合的元素的字符串表示形式组成,这些元素按其迭代器返回的顺序排列,用方括号("[]"
)括起来。相邻元素由字符", "
(逗号和空格)分隔。元素将被转换为字符串,如同通过String.valueOf(Object)
进行的那样。 -
containsAll
从接口中复制的描述:Collection
返回true
如果此集合包含指定集合中的所有元素。- 指定者:
-
containsAll
在接口Collection<K>
- 参数:
-
c
- 要检查是否包含在此集合中的集合 - 返回:
-
true
如果此集合包含指定集合中的所有元素 - 参见:
-
removeAll
从接口复制的描述:Collection
移除此集合中也包含在指定集合中的所有元素(可选操作)。调用返回后,此集合将不包含与指定集合中相同的任何元素。- 指定者:
-
removeAll
在接口Collection<K>
- 参数:
-
c
- 包含要从此集合中移除的元素的集合 - 返回:
-
true
如果此集合因调用而更改 - 参见:
-
retainAll
从接口复制的描述:Collection
仅保留此集合中包含在指定集合中的元素(可选操作)。换句话说,从此集合中移除所有不包含在指定集合中的元素。- 指定者:
-
retainAll
在接口Collection<K>
- 参数:
-
c
- 包含要在此集合中保留的元素的集合 - 返回:
-
true
如果此集合因调用而更改 - 参见:
-