@GwtCompatible(serializable=true, emulated=true) public abstract class ImmutableSet<E> extends ImmutableCollection<E> implements Set<E>
Set
whose contents will never change, with many other important properties detailed at
ImmutableCollection
.Modifier and Type | Class and Description |
---|---|
static class |
ImmutableSet.Builder<E>
A builder for creating
ImmutableSet instances. |
Modifier and Type | Method and Description |
---|---|
ImmutableList<E> |
asList()
Returns an
ImmutableList containing the same elements, in the same order, as this
collection. |
static <E> ImmutableSet.Builder<E> |
builder()
Returns a new builder.
|
static <E> ImmutableSet.Builder<E> |
builderWithExpectedSize(int expectedSize)
Returns a new builder, expecting the specified number of distinct elements to be added.
|
static <E> ImmutableSet<E> |
copyOf(Collection<? extends E> elements)
Returns an immutable set containing each of
elements , minus duplicates, in the order
each appears first in the source collection. |
static <E> ImmutableSet<E> |
copyOf(E[] elements)
Returns an immutable set containing each of
elements , minus duplicates, in the order
each appears first in the source array. |
static <E> ImmutableSet<E> |
copyOf(Iterable<? extends E> elements)
Returns an immutable set containing each of
elements , minus duplicates, in the order
each appears first in the source iterable. |
static <E> ImmutableSet<E> |
copyOf(Iterator<? extends E> elements)
Returns an immutable set containing each of
elements , minus duplicates, in the order
each appears first in the source iterator. |
boolean |
equals(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 containing
element . |
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.
|
add, addAll, clear, contains, remove, removeAll, retainAll, toArray, toArray
containsAll, isEmpty, size, toString
clone, finalize, getClass, notify, notifyAll, wait, wait, wait
add, addAll, clear, contains, containsAll, isEmpty, remove, removeAll, retainAll, size, spliterator, toArray, toArray
parallelStream, removeIf, stream
public static <E> ImmutableSet<E> of()
Collections.emptySet()
for code
consistency, and because the return type conveys the immutability guarantee.public static <E> ImmutableSet<E> of(E element)
element
. Preferred over Collections.singleton(T)
for code consistency, null
rejection, and because the return
type conveys the immutability guarantee.public static <E> ImmutableSet<E> of(E e1, E e2)
public static <E> ImmutableSet<E> of(E e1, E e2, E e3)
public static <E> ImmutableSet<E> of(E e1, E e2, E e3, E e4)
public static <E> ImmutableSet<E> of(E e1, E e2, E e3, E e4, E e5)
@SafeVarargs public static <E> ImmutableSet<E> of(E e1, E e2, E e3, E e4, E e5, E e6, E... others)
public static <E> ImmutableSet<E> copyOf(Collection<? extends E> elements)
elements
, 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.
NullPointerException
- if any of elements
is nullpublic static <E> ImmutableSet<E> copyOf(Iterable<? extends E> elements)
elements
, minus duplicates, in the order
each appears first in the source iterable. This method iterates over elements
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.
NullPointerException
- if any of elements
is nullpublic static <E> ImmutableSet<E> copyOf(Iterator<? extends E> elements)
elements
, minus duplicates, in the order
each appears first in the source iterator.NullPointerException
- if any of elements
is nullpublic static <E> ImmutableSet<E> copyOf(E[] elements)
elements
, minus duplicates, in the order
each appears first in the source array.NullPointerException
- if any of elements
is nullpublic int hashCode()
public abstract UnmodifiableIterator<E> iterator()
ImmutableCollection
public ImmutableList<E> asList()
ImmutableCollection
ImmutableList
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.
asList
in class ImmutableCollection<E>
public static <E> ImmutableSet.Builder<E> builder()
ImmutableSet.Builder
constructor.@Beta public static <E> ImmutableSet.Builder<E> builderWithExpectedSize(int expectedSize)
If expectedSize
is exactly the number of distinct elements added to the builder
before ImmutableSet.Builder.build()
is called, the builder is likely to perform better than an unsized
builder()
would have.
It is not specified if any performance benefits apply if expectedSize
is close to,
but not exactly, the number of distinct elements added to the builder.
Copyright © 2010–2017. All rights reserved.