public abstract static class Sets.SetView<E> extends AbstractSet<E>
An unmodifiable view of a set which may be backed by other sets; this view will change as the backing sets do. Contains methods to copy the data into a new set which will then remain stable. There is usually no reason to retain a reference of type SetView
; typically, you either use it as a plain Set
, or immediately invoke immutableCopy()
or copyInto(S)
and forget the SetView
itself.
Modifier and Type | Method and Description |
---|---|
<S extends Set<E>> |
copyInto(S set)
Copies the current contents of this set view into an existing set.
|
ImmutableSet<E> |
immutableCopy()
Returns an immutable copy of the current contents of this set view.
|
equals, hashCode, removeAll
add, addAll, clear, contains, containsAll, isEmpty, iterator, remove, retainAll, size, toArray, toArray, toString
clone, finalize, getClass, notify, notifyAll, wait, wait, wait
add, addAll, clear, contains, containsAll, isEmpty, iterator, remove, retainAll, size, spliterator, toArray, toArray
parallelStream, removeIf, stream
public ImmutableSet<E> immutableCopy()
Returns an immutable copy of the current contents of this set view. Does not support null elements.
Warning: this may have unexpected results if a backing set of this view uses a nonstandard notion of equivalence, for example if it is a TreeSet
using a comparator that is inconsistent with Object.equals(Object)
.
public <S extends Set<E>> S copyInto(S set)
Copies the current contents of this set view into an existing set. This method has equivalent behavior to set.addAll(this)
, assuming that all the sets involved are based on the same notion of equivalence.
set
, for convenience