Package com.google.common.collect
Class Sets.SetView<E extends @Nullable java.lang.Object>
- java.lang.Object
-
- java.util.AbstractCollection<E>
-
- java.util.AbstractSet<E>
-
- com.google.common.collect.Sets.SetView<E>
-
- All Implemented Interfaces:
java.lang.Iterable<E>
,java.util.Collection<E>
,java.util.Set<E>
- Enclosing class:
- Sets
public abstract static class Sets.SetView<E extends @Nullable java.lang.Object> extends java.util.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 typeSetView
; typically, you either use it as a plainSet
, or immediately invokeimmutableCopy()
orcopyInto(S)
and forget theSetView
itself.- Since:
- 2.0
-
-
Method Summary
All Methods Instance Methods Abstract Methods Concrete Methods Deprecated Methods Modifier and Type Method Description boolean
add(E e)
Deprecated.Unsupported operation.boolean
addAll(java.util.Collection<? extends E> newElements)
Deprecated.Unsupported operation.void
clear()
Deprecated.Unsupported operation.<S extends java.util.Set<E>>
ScopyInto(S set)
Copies the current contents of this set view into an existing set.ImmutableSet<@NonNull E>
immutableCopy()
Returns an immutable copy of the current contents of this set view.abstract UnmodifiableIterator<E>
iterator()
Scope the return type toUnmodifiableIterator
to ensure this is an unmodifiable view.boolean
remove(java.lang.Object object)
Deprecated.Unsupported operation.boolean
removeAll(java.util.Collection<?> oldElements)
Deprecated.Unsupported operation.boolean
retainAll(java.util.Collection<?> elementsToKeep)
Deprecated.Unsupported operation.-
Methods inherited from class java.util.AbstractCollection
contains, containsAll, isEmpty, size, toArray, toArray, toString
-
-
-
-
Method Detail
-
immutableCopy
public ImmutableSet<@NonNull 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 withObject.equals(Object)
.
-
copyInto
@CanIgnoreReturnValue public <S extends java.util.Set<E>> S copyInto(S set)
Copies the current contents of this set view into an existing set. This method has equivalent behavior toset.addAll(this)
, assuming that all the sets involved are based on the same notion of equivalence.- Returns:
- a reference to
set
, for convenience
-
add
@CanIgnoreReturnValue @Deprecated public final boolean add(E e)
Deprecated.Unsupported operation.Guaranteed to throw an exception and leave the collection unmodified.- Specified by:
add
in interfacejava.util.Collection<E extends @Nullable java.lang.Object>
- Specified by:
add
in interfacejava.util.Set<E extends @Nullable java.lang.Object>
- Overrides:
add
in classjava.util.AbstractCollection<E extends @Nullable java.lang.Object>
- Throws:
java.lang.UnsupportedOperationException
- always
-
remove
@CanIgnoreReturnValue @Deprecated public final boolean remove(@CheckForNull java.lang.Object object)
Deprecated.Unsupported operation.Guaranteed to throw an exception and leave the collection unmodified.- Specified by:
remove
in interfacejava.util.Collection<E extends @Nullable java.lang.Object>
- Specified by:
remove
in interfacejava.util.Set<E extends @Nullable java.lang.Object>
- Overrides:
remove
in classjava.util.AbstractCollection<E extends @Nullable java.lang.Object>
- Throws:
java.lang.UnsupportedOperationException
- always
-
addAll
@CanIgnoreReturnValue @Deprecated public final boolean addAll(java.util.Collection<? extends E> newElements)
Deprecated.Unsupported operation.Guaranteed to throw an exception and leave the collection unmodified.- Specified by:
addAll
in interfacejava.util.Collection<E extends @Nullable java.lang.Object>
- Specified by:
addAll
in interfacejava.util.Set<E extends @Nullable java.lang.Object>
- Overrides:
addAll
in classjava.util.AbstractCollection<E extends @Nullable java.lang.Object>
- Throws:
java.lang.UnsupportedOperationException
- always
-
removeAll
@CanIgnoreReturnValue @Deprecated public final boolean removeAll(java.util.Collection<?> oldElements)
Deprecated.Unsupported operation.Guaranteed to throw an exception and leave the collection unmodified.- Specified by:
removeAll
in interfacejava.util.Collection<E extends @Nullable java.lang.Object>
- Specified by:
removeAll
in interfacejava.util.Set<E extends @Nullable java.lang.Object>
- Overrides:
removeAll
in classjava.util.AbstractSet<E extends @Nullable java.lang.Object>
- Throws:
java.lang.UnsupportedOperationException
- always
-
retainAll
@CanIgnoreReturnValue @Deprecated public final boolean retainAll(java.util.Collection<?> elementsToKeep)
Deprecated.Unsupported operation.Guaranteed to throw an exception and leave the collection unmodified.- Specified by:
retainAll
in interfacejava.util.Collection<E extends @Nullable java.lang.Object>
- Specified by:
retainAll
in interfacejava.util.Set<E extends @Nullable java.lang.Object>
- Overrides:
retainAll
in classjava.util.AbstractCollection<E extends @Nullable java.lang.Object>
- Throws:
java.lang.UnsupportedOperationException
- always
-
clear
@Deprecated public final void clear()
Deprecated.Unsupported operation.Guaranteed to throw an exception and leave the collection unmodified.- Specified by:
clear
in interfacejava.util.Collection<E extends @Nullable java.lang.Object>
- Specified by:
clear
in interfacejava.util.Set<E extends @Nullable java.lang.Object>
- Overrides:
clear
in classjava.util.AbstractCollection<E extends @Nullable java.lang.Object>
- Throws:
java.lang.UnsupportedOperationException
- always
-
iterator
public abstract UnmodifiableIterator<E> iterator()
Scope the return type toUnmodifiableIterator
to ensure this is an unmodifiable view.- Specified by:
iterator
in interfacejava.util.Collection<E extends @Nullable java.lang.Object>
- Specified by:
iterator
in interfacejava.lang.Iterable<E extends @Nullable java.lang.Object>
- Specified by:
iterator
in interfacejava.util.Set<E extends @Nullable java.lang.Object>
- Specified by:
iterator
in classjava.util.AbstractCollection<E extends @Nullable java.lang.Object>
- Since:
- 20.0 (present with return type
Iterator
since 2.0)
-
-