public static class ConcurrentHashMap.KeySetView<K,V> extends Object implements Set<K>, Serializable
Set
ConcurrentHashMap的钥匙,在其中添加可使被映射到一个共同的价值。这类不能直接实例化。看到
keySet()
,
keySet(V)
,
newKeySet()
,
newKeySet(int)
。
Modifier and Type | Method and Description |
---|---|
boolean |
add(K e)
通过映射在支持映射中的默认映射值的键映射到该集合视图中的指定键,如果定义的。
|
boolean |
addAll(Collection<? extends K> c)
添加指定集合的所有元素,这一集,好像每一个电话
add(K) 。
|
void |
clear()
从这个视图中移除所有的元素,移除支持此视图的Map上的所有映射。
|
boolean |
contains(Object o)
返回
true如果集合包含指定元素。
|
boolean |
containsAll(Collection<?> c)
返回
true如果这个集合包含指定集合的所有元素。
|
boolean |
equals(Object o)
指示是否有其他对象“等于”这一个。
|
void |
forEach(Consumer<? super K> action)
执行特定动作的每一个元素的
Iterable 直到所有元素都被处理或操作抛出异常。
|
ConcurrentHashMap<K,V> |
getMap()
返回支持此视图的Map。
|
V |
getMappedValue()
返回默认映射值增加,或
null 如果不支持添加。
|
int |
hashCode()
返回一个对象的哈希代码值。
|
boolean |
isEmpty()
返回
true如果集合不包含任何元素。
|
Iterator<K> |
iterator()
返回此集合中的元素的迭代器。
|
boolean |
remove(Object o)
从这个Map视图中删除键,通过从支持Map中删除键(和它的相应的值)。
|
boolean |
removeAll(Collection<?> c)
删除此集合中包含的所有元素(可选操作)的所有元素(可选操作)。
|
boolean |
retainAll(Collection<?> c)
仅保留包含在指定集合中的这个集合中的元素(可选操作)。
|
int |
size()
返回此集合中的元素的数目。
|
Spliterator<K> |
spliterator()
在这个集合中的元素创建一个
Spliterator 。
|
Object[] |
toArray()
返回包含此集合中所有元素的数组。
|
<T> T[] |
toArray(T[] a)
返回包含此集合中所有元素的数组;返回数组的运行时类型是指定的数组的运行时类型。
|
String |
toString()
返回此集合的字符串表示形式。
|
clone, finalize, getClass, notify, notifyAll, wait, wait, wait
clear, containsAll, isEmpty, removeAll, retainAll, size, toArray, toArray
parallelStream, removeIf, stream
public V getMappedValue()
null
如果不支持添加。
null
如果不支持
public boolean contains(Object o)
contains
接口
Collection<K>
contains
接口
Set<K>
o
-集合中存在的元素进行测试
NullPointerException
-如果指定的键是空的
public boolean remove(Object o)
remove
接口
Collection<K>
remove
接口
Set<K>
o
-是从支持Map删除键
true
如果支持Map包含指定键
NullPointerException
-如果指定的键是空的
public Iterator<K> iterator()
返回的迭代器是weakly consistent。
public boolean add(K e)
add
接口
Collection<K>
add
接口
Set<K>
e
关键要添加
true
如果调用的结果这一套了
NullPointerException
-如果指定的键是空的
UnsupportedOperationException
-如果没有提供默认映射值增加
public boolean addAll(Collection<? extends K> c)
add(K)
每一。
addAll
接口
Collection<K>
addAll
接口
Set<K>
c
要插入这个集合中的元素
true
如果调用的结果这一套了
NullPointerException
-如果集合或其任何元素
null
UnsupportedOperationException
-如果没有提供默认映射值增加
Set.add(Object)
public int hashCode()
Object
HashMap
利益支持。
对hashCode
一般合同:
hashCode
方法总是返回相同的整数,没有提供信息用于equals
比较的对象被修改。这个整数不需要保持一致,从一个应用程序的一个执行到另一个执行相同的应用程序。equals(Object)
法两个对象是相等的,那么调用hashCode
方法每一个对象必须产生相同的整数结果。Object.equals(java.lang.Object)
法两个对象是不平等的,然后调用hashCode
方法每一个对象必须产生不同的整数结果。然而,程序员应该意识到,产生不同的整数结果的不平等的对象可能会提高哈希表的性能。尽合理的切实可行,由类Object
定义hashCode方法返回不同的对象不同的整数。(这通常是通过将该对象的内部地址转换成一个整数,但这不是实现实现技术的™java编程语言。要求)
hashCode
接口
Collection<K>
hashCode
接口
Set<K>
hashCode
方法重写,继承类
Object
Object.equals(java.lang.Object)
,
System.identityHashCode(java.lang.Object)
public boolean equals(Object o)
Object
的equals
方法实现了对非空对象引用的一个等价关系:
x
,x.equals(x)
应该返回true
。x
和y
,x.equals(y)
应该只有y.equals(x)
返回true
返回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
。类的方法实现Object
equals
最挑剔的对象可能的等价关系;就是说,对于任何非空的参考值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
public Spliterator<K> spliterator()
Set
Spliterator
。
该报告Spliterator.DISTINCT
Spliterator
。实现应该记录额外的特征值的报告。
spliterator
接口
Iterable<K>
spliterator
接口
Collection<K>
spliterator
接口
Set<K>
Spliterator
在这个集合中的元素
public void forEach(Consumer<? super K> action)
Iterable
Iterable
直到所有元素都被处理或操作抛出异常。除非实现类的其他指定,否则操作在迭代的顺序中(如果指定了一个迭代顺序)。由操作引发的异常被传递给调用方。
public ConcurrentHashMap<K,V> getMap()
public final void clear()
clear
接口
Collection<E>
public final int size()
Collection
size
接口
Collection<E>
public final boolean isEmpty()
Collection
isEmpty
接口
Collection<E>
public final Object[] toArray()
Collection
返回的数组将是“安全”的,没有引用它是由这个集合维护的。换句话说,这种方法必须分配一个新的数组,即使这个集合是由一个数组的支持。因此,调用方可以自由修改返回的数组。
此方法作为基于数组和基于集合的原料药之间的桥梁。
toArray
接口
Collection<E>
public final <T> T[] toArray(T[] a)
Collection
如果集合符合指定数组中剩余的空间(即数组有比这更多的元素的集合),在阵列采集结束后立即的元素设置为null。(这是有用的在确定这个集合只有长度如果调用者知道集合不包含任何null元素。)
如果这个集合对命令它的迭代器返回的元素有什么样的保证,则该方法必须返回相同的顺序中的元素。
像Collection.toArray()
方法,该方法作为之间的桥梁,基于阵列和基于集合API。此外,该方法允许对输出数组的运行时类型的精确控制,并在某些情况下,可用于节省分配成本。
假设x是一个集合称为只包含字符串。下面的代码可以用来把收集到新分配的数组String:
字符串[] y = x.toarray(新弦[ 0 ]);注意 toArray(new Object[0])是相同的功能, toArray()。
toArray
接口
Collection<E>
T
-数组的运行时类型包含集合
a
-为这个集合的元素被存储数组,如果它足够大;否则,一个新的运行时类型相同的数组分配给这个目的。
public final String toString()
"[]"
)。相邻的元素是由人物
", "
隔开(逗号和空格)。元素转换为字符串的
String.valueOf(Object)
。
public final boolean containsAll(Collection<?> c)
Collection
containsAll
接口
Collection<E>
c
采集被测试集合中是否包含
Collection.contains(Object)
public final boolean removeAll(Collection<?> c)
Collection
removeAll
接口
Collection<E>
c
收集包含要从集合中删除的元素
Collection.remove(Object)
,
Collection.contains(Object)
public final boolean retainAll(Collection<?> c)
Collection
retainAll
接口
Collection<E>
c
收集包含元素被保留在这个集合
Collection.remove(Object)
,
Collection.contains(Object)
Submit a bug or feature
For further API reference and developer documentation, see Java SE Documentation. That documentation contains more detailed, developer-targeted descriptions, with conceptual overviews, definitions of terms, workarounds, and working code examples.
Copyright © 1993, 2014, Oracle and/or its affiliates. All rights reserved.