public static class ConcurrentHashMap.KeySetView
extends Object
implements Collection<K>, Serializable, Set<K>, Serializable
java.lang.Object | |
↳ | java.util.concurrent.ConcurrentHashMap.KeySetView<K, V> |
将ConcurrentHashMap视图作为键的一个Set
,其中可以通过映射到一个公共值来选择性地启用添加。 这个类不能直接实例化。 见keySet(V)
, newKeySet()
, newKeySet(int)
。
Public methods |
|
---|---|
boolean |
add(K e) 如果已定义,则通过将密钥映射到支持映射中的默认映射值,将指定的密钥添加到此设置视图。 |
boolean |
addAll(Collection<? extends K> c) 将指定集合中的所有元素添加到该集合,就像通过每个元素调用 |
final void |
clear() 通过从支持该视图的地图中删除所有映射,从该视图中移除所有元素。 |
boolean |
contains(Object o) 如果此集合包含指定的元素,则返回 true 。 |
final boolean |
containsAll(Collection<?> c) 如果此集合包含指定集合中的所有元素,则返回 true 。 |
boolean |
equals(Object o) 指示其他某个对象是否“等于”这一个。 |
void |
forEach(Consumer<? super K> action) |
ConcurrentHashMap<K, V> |
getMap() 返回支持此视图的地图。 |
V |
getMappedValue() 返回添加的默认映射值,如果不支持添加,则返回 |
int |
hashCode() 返回对象的哈希码值。 |
final boolean |
isEmpty() 如果此集合不包含元素,则返回 true 。 |
Iterator<K> |
iterator() 返回此集合中元素的迭代器。 |
boolean |
remove(Object o) 通过从备份映射中除去键(及其相应的值),从该映射视图中除去键。 |
final boolean |
removeAll(Collection<?> c) 删除指定集合中包含的所有此集合的元素(可选操作)。 |
final boolean |
retainAll(Collection<?> c) 仅保留包含在指定集合中的此集合中的元素(可选操作)。 |
final int |
size() 返回此集合中的元素数量。 |
Spliterator<K> |
spliterator() 在此集合中的元素上创建一个 |
final <T> T[] |
toArray(T[] a) 返回包含此集合中所有元素的数组; 返回数组的运行时类型是指定数组的运行时类型。 |
final Object[] |
toArray() 返回包含此集合中所有元素的数组。 |
final String |
toString() 返回此集合的字符串表示形式。 |
Inherited methods |
|
---|---|
From class java.lang.Object
|
|
From interface java.util.Collection
|
|
From interface java.util.Set
|
|
From interface java.lang.Iterable
|
boolean add (K e)
如果已定义,则通过将密钥映射到支持映射中的默认映射值,将指定的密钥添加到此设置视图。
Parameters | |
---|---|
e |
K : key to be added |
Returns | |
---|---|
boolean |
true if this set changed as a result of the call |
Throws | |
---|---|
NullPointerException |
if the specified key is null |
UnsupportedOperationException |
if no default mapped value for additions was provided |
boolean addAll (Collection<? extends K> c)
将指定集合中的所有元素添加到此集合,就像通过每个元素调用 add(E)
。
Parameters | |
---|---|
c |
Collection : the elements to be inserted into this set |
Returns | |
---|---|
boolean |
true if this set changed as a result of the call |
Throws | |
---|---|
NullPointerException |
if the collection or any of its elements are null |
UnsupportedOperationException |
if no default mapped value for additions was provided |
boolean contains (Object o)
如果此集合包含指定的元素,则返回true 。 更正式地说,返回true当且仅当该集合包含至少一个元素e,例如(o==null ? e==null : o.equals(e)) 。
Parameters | |
---|---|
o |
Object : element whose presence in this collection is to be tested |
Returns | |
---|---|
boolean |
true if this collection contains the specified element |
Throws | |
---|---|
NullPointerException |
if the specified key is null |
boolean containsAll (Collection<?> c)
如果此集合包含指定集合中的所有元素,则返回 true 。
Parameters | |
---|---|
c |
Collection : collection to be checked for containment in this collection |
Returns | |
---|---|
boolean |
true if this collection contains all of the elements in the specified collection |
boolean equals (Object o)
指示其他某个对象是否“等于”这一个。
equals
方法在非空对象引用上实现等价关系:
x
, x.equals(x)
should return true
. x
and y
, x.equals(y)
should return true
if and only if y.equals(x)
returns true
. x
, y
, and z
, if x.equals(y)
returns true
and y.equals(z)
returns true
, then x.equals(z)
should return true
. x
and y
, multiple invocations of x.equals(y)
consistently return true
or consistently return false
, provided no information used in equals
comparisons on the objects is modified. x
, x.equals(null)
should return false
. 类Object
的equals
方法实现了对象上最可能的等价关系; 也就是说,对于任何非空参考值x
和y
,当且仅当x
和y
引用同一对象( x == y
的值为true
)时,此方法返回true
。
请注意,无论何时覆盖此方法,通常都必须覆盖 hashCode
方法,以便维护 hashCode
方法的一般合同,该方法声明相等对象必须具有相同的哈希代码。
Parameters | |
---|---|
o |
Object : the reference object with which to compare. |
Returns | |
---|---|
boolean |
true if this object is the same as the obj argument; false otherwise. |
ConcurrentHashMap<K, V> getMap ()
返回支持此视图的地图。
Returns | |
---|---|
ConcurrentHashMap<K, V> |
the map backing this view |
V getMappedValue ()
返回添加的默认映射值,如果不支持添加,则返回 null
。
Returns | |
---|---|
V |
the default mapped value for additions, or null if not supported |
int hashCode ()
返回对象的哈希码值。 为了散列表的好处而支持该方法,例如由HashMap
提供的HashMap
。
hashCode
的总合同是:
hashCode
method must consistently return the same integer, provided no information used in equals
comparisons on the object is modified. This integer need not remain consistent from one execution of an application to another execution of the same application. equals(Object)
method, then calling the hashCode
method on each of the two objects must produce the same integer result. equals(java.lang.Object)
method, then calling the hashCode
method on each of the two objects must produce distinct integer results. However, the programmer should be aware that producing distinct integer results for unequal objects may improve the performance of hash tables. 尽可能合理实用,类Object
定义的hashCode方法确实为不同的对象返回不同的整数。 (这通常通过将对象的内部地址转换为整数来实现,但Java TM编程语言不需要此实现技术。)
Returns | |
---|---|
int |
a hash code value for this object. |
boolean isEmpty ()
如果此集合不包含元素,则返回 true 。
Returns | |
---|---|
boolean |
true if this collection contains no elements |
Iterator<K> iterator ()
返回此集合中元素的迭代器。
返回的迭代器是 weakly consistent 。
Returns | |
---|---|
Iterator<K> |
an iterator over the keys of the backing map |
boolean remove (Object o)
通过从备份映射中除去键(及其相应的值),从该映射视图中除去键。 如果该键不在地图中,该方法不执行任何操作。
Parameters | |
---|---|
o |
Object : the key to be removed from the backing map |
Returns | |
---|---|
boolean |
true if the backing map contained the specified key |
Throws | |
---|---|
NullPointerException |
if the specified key is null |
boolean removeAll (Collection<?> c)
删除指定集合中包含的所有此集合的元素(可选操作)。 此调用返回后,此集合将不包含与指定集合相同的元素。
Parameters | |
---|---|
c |
Collection : collection containing elements to be removed from this collection |
Returns | |
---|---|
boolean |
true if this collection changed as a result of the call |
boolean retainAll (Collection<?> c)
仅保留包含在指定集合中的此集合中的元素(可选操作)。 换句话说,从该集合中删除所有未包含在指定集合中的元素。
Parameters | |
---|---|
c |
Collection : collection containing elements to be retained in this collection |
Returns | |
---|---|
boolean |
true if this collection changed as a result of the call |
int size ()
返回此集合中的元素数量。 如果此集合包含多个Integer.MAX_VALUE元素,则返回Integer.MAX_VALUE 。
Returns | |
---|---|
int |
the number of elements in this collection |
Spliterator<K> spliterator ()
在此集合中的元素上创建一个Spliterator
。 实现应记录由分割器报告的特征值。 如果分隔符报告SIZED
且此集合不包含任何元素,则不需要报告此类特征值。
默认实现应该被可以返回更高效的分割器的子类覆盖。 为了保持stream()
和parallelStream()
}方法的预期惰性行为,分割器应该具有IMMUTABLE
或CONCURRENT
的特征,或者是late-binding 。 如果这些都不切实际,则重写类应描述分割器记录的绑定和结构干扰策略,并应覆盖stream()
和parallelStream()
方法以使用Supplier
的Supplier创建流,如下所示:
Stream<E> s = StreamSupport.stream(() -> spliterator(), spliteratorCharacteristics)
这些要求确保由 stream()
和 parallelStream()
方法产生的流将反映从终端流操作开始时的集合内容。
Returns | |
---|---|
Spliterator<K> |
a Spliterator over the elements in this collection |
T[] toArray (T[] a)
返回包含此集合中所有元素的数组; 返回数组的运行时类型是指定数组的运行时类型。 如果集合适合指定的数组,则将其返回。 否则,将使用指定数组的运行时类型和此集合的大小分配一个新数组。
如果此集合符合指定数组并且有空余空间(即数组的元素多于此集合),则紧跟集合结束后的数组中的元素设置为null 。 ( 只有当调用者知道这个集合不包含任何null元素时,这在确定此集合的长度时非常有用。)
如果此集合对其迭代器返回的元素的顺序做出任何保证,则此方法必须以相同顺序返回元素。
与toArray()
方法一样,此方法充当基于数组和基于集合的API之间的桥梁。 此外,该方法允许精确控制输出数组的运行时类型,并且在某些情况下可以用于节省分配成本。
假设x是已知只包含字符串的集合。 以下代码可用于将集合转储到新分配的数组String中 :
String[] y = x.toArray(new String[0]);Note that toArray(new Object[0]) is identical in function to toArray().
Parameters | |
---|---|
a |
T : the array into which the elements of this collection are to be stored, if it is big enough; otherwise, a new array of the same runtime type is allocated for this purpose. |
Returns | |
---|---|
T[] |
an array containing all of the elements in this collection |
Object[] toArray ()
返回包含此集合中所有元素的数组。 如果此集合对其迭代器返回的元素的顺序做出任何保证,则此方法必须以相同顺序返回元素。
返回的数组将是“安全的”,因为这个集合没有维护它的引用。 (换句话说,即使该集合由数组支持,该方法也必须分配一个新数组)。 调用者可以自由修改返回的数组。
此方法充当基于数组和基于集合的API之间的桥梁。
Returns | |
---|---|
Object[] |
an array containing all of the elements in this collection |
String toString ()
返回此集合的字符串表示形式。 字符串表示形式由集合元素的字符串表示形式组成,它们按其迭代器返回的顺序包含在方括号( "[]"
)中。 相邻元素由字符", "
(逗号和空格)分隔。 元素通过valueOf(Object)
转换为字符串。
Returns | |
---|---|
String |
a string representation of this collection |