implements Collection<K> Serializable 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(V)
,
newKeySet()
,
newKeySet(int)
.
Public Method Summary
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
Set.add(E) on each one. |
final void |
clear()
Removes all of the elements from this view, by removing all
the mappings from the map backing this view.
|
boolean | |
final boolean |
containsAll(Collection<?> c)
Returns true if this collection contains all of the elements
in the specified collection.
|
boolean | |
void | |
ConcurrentHashMap<K, V> |
getMap()
Returns the map backing this view.
|
V |
getMappedValue()
Returns the default mapped value for additions,
or
null if additions are not supported. |
int |
hashCode()
Returns an integer hash code for this object.
|
final boolean |
isEmpty()
Returns true if this collection contains no elements.
|
Iterator<K> |
iterator()
Returns an iterator over the elements in this collection.
|
boolean | |
final boolean |
removeAll(Collection<?> c)
Removes all of this collection's elements that are also contained in the
specified collection (optional operation).
|
final boolean |
retainAll(Collection<?> c)
Retains only the elements in this collection that are contained in the
specified collection (optional operation).
|
final int |
size()
Returns the number of elements in this collection.
|
Spliterator<K> |
spliterator()
Creates a
Spliterator over the elements in this collection. |
final <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.
|
final Object[] |
toArray()
Returns an array containing all of the elements in this collection.
|
final String |
toString()
Returns a string representation of this collection.
|
Inherited Method Summary
Public Methods
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.
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 |
public boolean addAll (Collection<? extends K> c)
Adds all of the elements in the specified collection to this set,
as if by calling Set.add(E)
on each one.
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 are null |
---|---|
UnsupportedOperationException | if no default mapped value for additions was provided |
public final void clear ()
Removes all of the elements from this view, by removing all the mappings from the map backing this view.
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)).
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 |
---|
public final boolean containsAll (Collection<?> c)
Returns true if this collection contains all of the elements in the specified collection.
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
public boolean equals (Object o)
Compares this instance with the specified object and indicates if they
are equal. In order to be equal, o
must represent the same object
as this instance using a class-specific comparison. The general contract
is that this comparison should be reflexive, symmetric, and transitive.
Also, no object reference other than null is equal to null.
The default implementation returns true
only if this ==
o
. See Writing a correct
equals
method
if you intend implementing your own equals
method.
The general contract for the equals
and hashCode()
methods is that if equals
returns true
for
any two objects, then hashCode()
must return the same value for
these objects. This means that subclasses of Object
usually
override either both methods or neither of them.
Parameters
o | the object to compare this instance with. |
---|
Returns
true
if the specified object is equal to thisObject
;false
otherwise.
public ConcurrentHashMap<K, V> getMap ()
Returns the map backing this view.
Returns
- the map backing this view
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
public int hashCode ()
Returns an integer hash code for this object. By contract, any two
objects for which equals(Object)
returns true
must return
the same hash code value. This means that subclasses of Object
usually override both methods or neither method.
Note that hash values must not change over time unless information used in equals comparisons also changes.
See Writing a correct
hashCode
method
if you intend implementing your own hashCode
method.
Returns
- this object's hash code.
public final boolean isEmpty ()
Returns true if this collection contains no elements.
Returns
- true if this collection contains no elements
public Iterator<K> iterator ()
Returns an iterator over the elements in this collection.
The returned iterator is weakly consistent.
Returns
- an iterator over the keys of the backing map
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.
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 |
---|
public final boolean removeAll (Collection<?> c)
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.
Parameters
c | collection containing elements to be removed from this collection |
---|
Returns
- true if this collection changed as a result of the call
public final boolean retainAll (Collection<?> c)
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.
Parameters
c | collection containing elements to be retained in this collection |
---|
Returns
- true if this collection changed as a result of the call
public final int size ()
Returns the number of elements in this collection. If this collection contains more than Integer.MAX_VALUE elements, returns Integer.MAX_VALUE.
Returns
- the number of elements in this collection
public Spliterator<K> spliterator ()
Creates a Spliterator
over the elements in this collection.
Implementations should document characteristic values reported by the
spliterator. Such characteristic values are not required to be reported
if the spliterator reports Spliterator.SIZED
and this collection
contains no elements.
The default implementation should be overridden by subclasses that
can return a more efficient spliterator. In order to
preserve expected laziness behavior for the stream()
and
parallelStream()
} methods, spliterators should either have the
characteristic of IMMUTABLE
or CONCURRENT
, or be
late-binding.
If none of these is practical, the overriding class should describe the
spliterator's documented policy of binding and structural interference,
and should override the stream()
and parallelStream()
methods to create streams using a Supplier
of the spliterator,
as in:
Stream<E> s = StreamSupport.stream(() -> spliterator(), spliteratorCharacteristics)
These requirements ensure that streams produced by the
stream()
and parallelStream()
methods will reflect the
contents of the collection as of initiation of the terminal stream
operation.
Returns
- a
Spliterator
over the elements in this collection
public final 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. 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 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]);
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
public final Object[] toArray ()
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.
Returns
- an array containing all of the elements in this collection
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)
.
Returns
- a string representation of this collection