Class ConcurrentHashMap.KeySetView<K,V>
- java.lang.Object
-
- java.util.concurrent.ConcurrentHashMap.KeySetView<K,V>
- All Implemented Interfaces:
- Serializable, Iterable<K>, Collection<K>, Set<K>
- Enclosing class:
- ConcurrentHashMap<K,V>
public static class ConcurrentHashMap.KeySetView<K,V> extends Object implements Set<K>, Serializable
A view of a ConcurrentHashMap as a Set
of keys, in which additions may optionally be enabled by mapping to a common value. This class cannot be directly instantiated. See keySet()
, keySet(V)
, newKeySet()
, newKeySet(int)
.
- Since:
- 1.8
- See Also:
- Serialized Form
Methods
Modifier and Type | Method and Description |
---|---|
boolean |
add(K e) Adds the specified key to this set view by mapping the key to the default mapped value in the backing map, if defined. |
boolean |
addAll(Collection<? extends K> c) Adds all of the elements in the specified collection to this set, as if by calling |
void |
clear() Removes all of the elements from this view, by removing all the mappings from the map backing this view. |
boolean |
contains(Object o) Returns |
boolean |
containsAll(Collection<?> c) Returns |
boolean |
equals(Object o) Indicates whether some other object is "equal to" this one. |
void |
forEach(Consumer<? super K> action) Performs the given action for each element of the |
ConcurrentHashMap<K,V> |
getMap() Returns the map backing this view. |
V |
getMappedValue() Returns the default mapped value for additions, or |
int |
hashCode() Returns a hash code value for the object. |
boolean |
isEmpty() Returns |
Iterator<K> |
iterator() Returns an iterator over the elements in this collection. |
boolean |
remove(Object o) Removes the key from this map view, by removing the key (and its corresponding value) from the backing map. |
boolean |
removeAll(Collection<?> c) Removes all of this collection's elements that are also contained in the specified collection (optional operation). |
boolean |
retainAll(Collection<?> c) Retains only the elements in this collection that are contained in the specified collection (optional operation). |
int |
size() Returns the number of elements in this collection. |
Spliterator<K> |
spliterator() Creates a |
Object[] |
toArray() Returns an array containing all of the elements in this collection. |
<T> T[] |
toArray(T[] a) Returns an array containing all of the elements in this collection; the runtime type of the returned array is that of the specified array. |
String |
toString() Returns a string representation of this collection. |
Methods inherited from class java.lang.Object
clone, finalize, getClass, notify, notifyAll, wait, wait, wait
Methods inherited from interface java.util.Set
clear, containsAll, isEmpty, removeAll, retainAll, size, toArray, toArray
Methods inherited from interface java.util.Collection
parallelStream, removeIf, stream
Methods
getMappedValue
public V getMappedValue()
Returns the default mapped value for additions, or null
if additions are not supported.
- Returns:
- the default mapped value for additions, or
null
if not supported
contains
public boolean contains(Object o)
Returns true
if this collection contains the specified element. More formally, returns true
if and only if this collection contains at least one element e
such that (o==null ? e==null : o.equals(e))
.
- Specified by:
-
contains
in interfaceCollection<K>
- Specified by:
-
contains
in interfaceSet<K>
- Parameters:
-
o
- element whose presence in this collection is to be tested - Returns:
-
true
if this collection contains the specified element - Throws:
-
NullPointerException
- if the specified key is null
remove
public boolean remove(Object o)
Removes the key from this map view, by removing the key (and its corresponding value) from the backing map. This method does nothing if the key is not in the map.
- Specified by:
-
remove
in interfaceCollection<K>
- Specified by:
-
remove
in interfaceSet<K>
- Parameters:
-
o
- the key to be removed from the backing map - Returns:
-
true
if the backing map contained the specified key - Throws:
-
NullPointerException
- if the specified key is null
iterator
public Iterator<K> iterator()
Returns an iterator over the elements in this collection.
The returned iterator is weakly consistent.
- Specified by:
-
iterator
in interfaceIterable<K>
- Specified by:
-
iterator
in interfaceCollection<K>
- Specified by:
-
iterator
in interfaceSet<K>
- Returns:
- an iterator over the keys of the backing map
add
public boolean add(K e)
Adds the specified key to this set view by mapping the key to the default mapped value in the backing map, if defined.
- Specified by:
-
add
in interfaceCollection<K>
- Specified by:
-
add
in interfaceSet<K>
- Parameters:
-
e
- key to be added - Returns:
-
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
addAll
public boolean addAll(Collection<? extends K> c)
Adds all of the elements in the specified collection to this set, as if by calling add(K)
on each one.
- Specified by:
-
addAll
in interfaceCollection<K>
- Specified by:
-
addAll
in interfaceSet<K>
- Parameters:
-
c
- the elements to be inserted into this set - Returns:
-
true
if this set changed as a result of the call - Throws:
-
NullPointerException
- if the collection or any of its elements arenull
-
UnsupportedOperationException
- if no default mapped value for additions was provided - See Also:
Set.add(Object)
hashCode
public int hashCode()
Description copied from class: Object
Returns a hash code value for the object. This method is supported for the benefit of hash tables such as those provided by HashMap
.
The general contract of hashCode
is:
- Whenever it is invoked on the same object more than once during an execution of a Java application, the
hashCode
method must consistently return the same integer, provided no information used inequals
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. - If two objects are equal according to the
equals(Object)
method, then calling thehashCode
method on each of the two objects must produce the same integer result. - It is not required that if two objects are unequal according to the
Object.equals(java.lang.Object)
method, then calling thehashCode
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.
As much as is reasonably practical, the hashCode method defined by class Object
does return distinct integers for distinct objects. (This is typically implemented by converting the internal address of the object into an integer, but this implementation technique is not required by the Java™ programming language.)
- Specified by:
-
hashCode
in interfaceCollection<K>
- Specified by:
-
hashCode
in interfaceSet<K>
- Overrides:
-
hashCode
in classObject
- Returns:
- a hash code value for this object.
- See Also:
-
Object.equals(java.lang.Object)
,System.identityHashCode(java.lang.Object)
equals
public boolean equals(Object o)
Description copied from class: Object
Indicates whether some other object is "equal to" this one.
The equals
method implements an equivalence relation on non-null object references:
- It is reflexive: for any non-null reference value
x
,x.equals(x)
should returntrue
. - It is symmetric: for any non-null reference values
x
andy
,x.equals(y)
should returntrue
if and only ify.equals(x)
returnstrue
. - It is transitive: for any non-null reference values
x
,y
, andz
, ifx.equals(y)
returnstrue
andy.equals(z)
returnstrue
, thenx.equals(z)
should returntrue
. - It is consistent: for any non-null reference values
x
andy
, multiple invocations ofx.equals(y)
consistently returntrue
or consistently returnfalse
, provided no information used inequals
comparisons on the objects is modified. - For any non-null reference value
x
,x.equals(null)
should returnfalse
.
The equals
method for class Object
implements the most discriminating possible equivalence relation on objects; that is, for any non-null reference values x
and y
, this method returns true
if and only if x
and y
refer to the same object (x == y
has the value true
).
Note that it is generally necessary to override the hashCode
method whenever this method is overridden, so as to maintain the general contract for the hashCode
method, which states that equal objects must have equal hash codes.
- Specified by:
-
equals
in interfaceCollection<K>
- Specified by:
-
equals
in interfaceSet<K>
- Overrides:
-
equals
in classObject
- Parameters:
-
o
- the reference object with which to compare. - Returns:
-
true
if this object is the same as the obj argument;false
otherwise. - See Also:
-
Object.hashCode()
,HashMap
spliterator
public Spliterator<K> spliterator()
Description copied from interface: Set
Creates a Spliterator
over the elements in this set.
The Spliterator
reports Spliterator.DISTINCT
. Implementations should document the reporting of additional characteristic values.
- Specified by:
-
spliterator
in interfaceIterable<K>
- Specified by:
-
spliterator
in interfaceCollection<K>
- Specified by:
-
spliterator
in interfaceSet<K>
- Returns:
- a
Spliterator
over the elements in this set
forEach
public void forEach(Consumer<? super K> action)
Description copied from interface: Iterable
Performs the given action for each element of the Iterable
until all elements have been processed or the action throws an exception. Unless otherwise specified by the implementing class, actions are performed in the order of iteration (if an iteration order is specified). Exceptions thrown by the action are relayed to the caller.
- Specified by:
-
forEach
in interfaceIterable<K>
- Parameters:
-
action
- The action to be performed for each element
getMap
public ConcurrentHashMap<K,V> getMap()
Returns the map backing this view.
- Returns:
- the map backing this view
clear
public final void clear()
Removes all of the elements from this view, by removing all the mappings from the map backing this view.
- Specified by:
-
clear
in interfaceCollection<E>
size
public final int size()
Description copied from interface: Collection
Returns the number of elements in this collection. If this collection contains more than Integer.MAX_VALUE
elements, returns Integer.MAX_VALUE
.
- Specified by:
-
size
in interfaceCollection<E>
- Returns:
- the number of elements in this collection
isEmpty
public final boolean isEmpty()
Description copied from interface: Collection
Returns true
if this collection contains no elements.
- Specified by:
-
isEmpty
in interfaceCollection<E>
- Returns:
-
true
if this collection contains no elements
toArray
public final Object[] toArray()
Description copied from interface: Collection
Returns an array containing all of the elements in this collection. If this collection makes any guarantees as to what order its elements are returned by its iterator, this method must return the elements in the same order.
The returned array will be "safe" in that no references to it are maintained by this collection. (In other words, this method must allocate a new array even if this collection is backed by an array). The caller is thus free to modify the returned array.
This method acts as bridge between array-based and collection-based APIs.
- Specified by:
-
toArray
in interfaceCollection<E>
- Returns:
- an array containing all of the elements in this collection
toArray
public final <T> T[] toArray(T[] a)
Description copied from interface: Collection
Returns an array containing all of the elements in this collection; the runtime type of the returned array is that of the specified array. If the collection fits in the specified array, it is returned therein. Otherwise, a new array is allocated with the runtime type of the specified array and the size of this collection.
If this collection fits in the specified array with room to spare (i.e., the array has more elements than this collection), the element in the array immediately following the end of the collection is set to null
. (This is useful in determining the length of this collection only if the caller knows that this collection does not contain any null
elements.)
If this collection makes any guarantees as to what order its elements are returned by its iterator, this method must return the elements in the same order.
Like the Collection.toArray()
method, this method acts as bridge between array-based and collection-based APIs. Further, this method allows precise control over the runtime type of the output array, and may, under certain circumstances, be used to save allocation costs.
Suppose x
is a collection known to contain only strings. The following code can be used to dump the collection into a newly allocated array of String
:
String[] y = x.toArray(new String[0]);Note that
toArray(new Object[0])
is identical in function to toArray()
.- Specified by:
-
toArray
in interfaceCollection<E>
- Type Parameters:
-
T
- the runtime type of the array to contain the collection - Parameters:
-
a
- 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:
- an array containing all of the elements in this collection
toString
public final String toString()
Returns a string representation of this collection. The string representation consists of the string representations of the collection's elements in the order they are returned by its iterator, enclosed in square brackets ("[]"
). Adjacent elements are separated by the characters ", "
(comma and space). Elements are converted to strings as by String.valueOf(Object)
.
containsAll
public final boolean containsAll(Collection<?> c)
Description copied from interface: Collection
Returns true
if this collection contains all of the elements in the specified collection.
- Specified by:
-
containsAll
in interfaceCollection<E>
- Parameters:
-
c
- collection to be checked for containment in this collection - Returns:
-
true
if this collection contains all of the elements in the specified collection - See Also:
Collection.contains(Object)
removeAll
public final boolean removeAll(Collection<?> c)
Description copied from interface: Collection
Removes all of this collection's elements that are also contained in the specified collection (optional operation). After this call returns, this collection will contain no elements in common with the specified collection.
- Specified by:
-
removeAll
in interfaceCollection<E>
- Parameters:
-
c
- collection containing elements to be removed from this collection - Returns:
-
true
if this collection changed as a result of the call - See Also:
-
Collection.remove(Object)
,Collection.contains(Object)
retainAll
public final boolean retainAll(Collection<?> c)
Description copied from interface: Collection
Retains only the elements in this collection that are contained in the specified collection (optional operation). In other words, removes from this collection all of its elements that are not contained in the specified collection.
- Specified by:
-
retainAll
in interfaceCollection<E>
- Parameters:
-
c
- collection containing elements to be retained in this collection - Returns:
-
true
if this collection changed as a result of the call - See Also:
-
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.
https://docs.oracle.com/javase/8/docs/api/java/util/concurrent/ConcurrentHashMap.KeySetView.html