Class ImmutableSet<E>
- java.lang.Object
-
- java.util.AbstractCollection<E>
-
- com.google.common.collect.ImmutableCollection<E>
-
- com.google.common.collect.ImmutableSet<E>
-
- All Implemented Interfaces:
java.io.Serializable
,java.lang.Iterable<E>
,java.util.Collection<E>
,java.util.Set<E>
- Direct Known Subclasses:
ImmutableSortedSet
@GwtCompatible(serializable=true, emulated=true) public abstract class ImmutableSet<E> extends ImmutableCollection<E> implements java.util.Set<E>
ASet
whose contents will never change, with many other important properties detailed atImmutableCollection
.- Since:
- 2.0
- See Also:
- Serialized Form
-
-
Nested Class Summary
Nested Classes Modifier and Type Class Description static class
ImmutableSet.Builder<E>
A builder for creatingImmutableSet
instances.
-
Method Summary
All Methods Static Methods Instance Methods Abstract Methods Concrete Methods Modifier and Type Method Description ImmutableList<E>
asList()
Returns anImmutableList
containing the same elements, in the same order, as this collection.static <E> ImmutableSet.Builder<E>
builder()
Returns a new builder.static <E> ImmutableSet<E>
copyOf(E[] elements)
Returns an immutable set containing each ofelements
, minus duplicates, in the order each appears first in the source array.static <E> ImmutableSet<E>
copyOf(java.lang.Iterable<? extends E> elements)
Returns an immutable set containing each ofelements
, minus duplicates, in the order each appears first in the source iterable.static <E> ImmutableSet<E>
copyOf(java.util.Collection<? extends E> elements)
Returns an immutable set containing each ofelements
, minus duplicates, in the order each appears first in the source collection.static <E> ImmutableSet<E>
copyOf(java.util.Iterator<? extends E> elements)
Returns an immutable set containing each ofelements
, minus duplicates, in the order each appears first in the source iterator.boolean
equals(java.lang.Object object)
int
hashCode()
abstract UnmodifiableIterator<E>
iterator()
Returns an unmodifiable iterator across the elements in this collection.static <E> ImmutableSet<E>
of()
Returns the empty immutable set.static <E> ImmutableSet<E>
of(E element)
Returns an immutable set containingelement
.static <E> ImmutableSet<E>
of(E e1, E e2)
Returns an immutable set containing the given elements, minus duplicates, in the order each was first specified.static <E> ImmutableSet<E>
of(E e1, E e2, E e3)
Returns an immutable set containing the given elements, minus duplicates, in the order each was first specified.static <E> ImmutableSet<E>
of(E e1, E e2, E e3, E e4)
Returns an immutable set containing the given elements, minus duplicates, in the order each was first specified.static <E> ImmutableSet<E>
of(E e1, E e2, E e3, E e4, E e5)
Returns an immutable set containing the given elements, minus duplicates, in the order each was first specified.static <E> ImmutableSet<E>
of(E e1, E e2, E e3, E e4, E e5, E e6, E... others)
Returns an immutable set containing the given elements, minus duplicates, in the order each was first specified.-
Methods inherited from class com.google.common.collect.ImmutableCollection
add, addAll, clear, contains, remove, removeAll, retainAll, toArray, toArray
-
-
-
-
Method Detail
-
of
public static <E> ImmutableSet<E> of()
Returns the empty immutable set. Preferred overCollections.emptySet()
for code consistency, and because the return type conveys the immutability guarantee.
-
of
public static <E> ImmutableSet<E> of(E element)
Returns an immutable set containingelement
. Preferred overCollections.singleton(T)
for code consistency,null
rejection, and because the return type conveys the immutability guarantee.
-
of
public static <E> ImmutableSet<E> of(E e1, E e2)
Returns an immutable set containing the given elements, minus duplicates, in the order each was first specified. That is, if multiple elements are equal, all except the first are ignored.
-
of
public static <E> ImmutableSet<E> of(E e1, E e2, E e3)
Returns an immutable set containing the given elements, minus duplicates, in the order each was first specified. That is, if multiple elements are equal, all except the first are ignored.
-
of
public static <E> ImmutableSet<E> of(E e1, E e2, E e3, E e4)
Returns an immutable set containing the given elements, minus duplicates, in the order each was first specified. That is, if multiple elements are equal, all except the first are ignored.
-
of
public static <E> ImmutableSet<E> of(E e1, E e2, E e3, E e4, E e5)
Returns an immutable set containing the given elements, minus duplicates, in the order each was first specified. That is, if multiple elements are equal, all except the first are ignored.
-
of
@SafeVarargs public static <E> ImmutableSet<E> of(E e1, E e2, E e3, E e4, E e5, E e6, E... others)
Returns an immutable set containing the given elements, minus duplicates, in the order each was first specified. That is, if multiple elements are equal, all except the first are ignored.- Since:
- 3.0 (source-compatible since 2.0)
-
copyOf
public static <E> ImmutableSet<E> copyOf(java.util.Collection<? extends E> elements)
Returns an immutable set containing each ofelements
, minus duplicates, in the order each appears first in the source collection.Performance note: This method will sometimes recognize that the actual copy operation is unnecessary; for example,
copyOf(copyOf(anArrayList))
will copy the data only once. This reduces the expense of habitually making defensive copies at API boundaries. However, the precise conditions for skipping the copy operation are undefined.- Throws:
java.lang.NullPointerException
- if any ofelements
is null- Since:
- 7.0 (source-compatible since 2.0)
-
copyOf
public static <E> ImmutableSet<E> copyOf(java.lang.Iterable<? extends E> elements)
Returns an immutable set containing each ofelements
, minus duplicates, in the order each appears first in the source iterable. This method iterates overelements
only once.Performance note: This method will sometimes recognize that the actual copy operation is unnecessary; for example,
copyOf(copyOf(anArrayList))
should copy the data only once. This reduces the expense of habitually making defensive copies at API boundaries. However, the precise conditions for skipping the copy operation are undefined.- Throws:
java.lang.NullPointerException
- if any ofelements
is null
-
copyOf
public static <E> ImmutableSet<E> copyOf(java.util.Iterator<? extends E> elements)
Returns an immutable set containing each ofelements
, minus duplicates, in the order each appears first in the source iterator.- Throws:
java.lang.NullPointerException
- if any ofelements
is null
-
copyOf
public static <E> ImmutableSet<E> copyOf(E[] elements)
Returns an immutable set containing each ofelements
, minus duplicates, in the order each appears first in the source array.- Throws:
java.lang.NullPointerException
- if any ofelements
is null- Since:
- 3.0
-
equals
public boolean equals(@Nullable java.lang.Object object)
-
hashCode
public int hashCode()
-
iterator
public abstract UnmodifiableIterator<E> iterator()
Description copied from class:ImmutableCollection
Returns an unmodifiable iterator across the elements in this collection.
-
asList
public ImmutableList<E> asList()
Description copied from class:ImmutableCollection
Returns anImmutableList
containing the same elements, in the same order, as this collection.Performance note: in most cases this method can return quickly without actually copying anything. The exact circumstances under which the copy is performed are undefined and subject to change.
- Overrides:
asList
in classImmutableCollection<E>
-
builder
public static <E> ImmutableSet.Builder<E> builder()
Returns a new builder. The generated builder is equivalent to the builder created by theImmutableSet.Builder
constructor.
-
-