Package com.google.common.collect
Class ImmutableMultiset.Builder<E>
- java.lang.Object
-
- com.google.common.collect.ImmutableCollection.Builder<E>
-
- com.google.common.collect.ImmutableMultiset.Builder<E>
-
- Direct Known Subclasses:
ImmutableSortedMultiset.Builder
- Enclosing class:
- ImmutableMultiset<E>
public static class ImmutableMultiset.Builder<E> extends ImmutableCollection.Builder<E>
A builder for creating immutable multiset instances, especiallypublic static final
multisets ("constant multisets"). Example:public static final ImmutableMultiset<Bean> BEANS = new ImmutableMultiset.Builder<Bean>() .addCopies(Bean.COCOA, 4) .addCopies(Bean.GARDEN, 6) .addCopies(Bean.RED, 8) .addCopies(Bean.BLACK_EYED, 10) .build();
Builder instances can be reused; it is safe to call
build()
multiple times to build multiple multisets in series.- Since:
- 2.0
-
-
Constructor Summary
Constructors Constructor Description Builder()
Creates a new builder.
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description ImmutableMultiset.Builder<E>
add(E element)
Addselement
to theImmutableMultiset
.ImmutableMultiset.Builder<E>
add(E... elements)
Adds each element ofelements
to theImmutableMultiset
.ImmutableMultiset.Builder<E>
addAll(Iterable<? extends E> elements)
Adds each element ofelements
to theImmutableMultiset
.ImmutableMultiset.Builder<E>
addAll(Iterator<? extends E> elements)
Adds each element ofelements
to theImmutableMultiset
.ImmutableMultiset.Builder<E>
addCopies(E element, int occurrences)
Adds a number of occurrences of an element to thisImmutableMultiset
.ImmutableMultiset<E>
build()
Returns a newly-createdImmutableMultiset
based on the contents of theBuilder
.ImmutableMultiset.Builder<E>
setCount(E element, int count)
Adds or removes the necessary occurrences of an element such that the element attains the desired count.
-
-
-
Constructor Detail
-
Builder
public Builder()
Creates a new builder. The returned builder is equivalent to the builder generated byImmutableMultiset.builder()
.
-
-
Method Detail
-
add
@CanIgnoreReturnValue public ImmutableMultiset.Builder<E> add(E element)
Addselement
to theImmutableMultiset
.- Specified by:
add
in classImmutableCollection.Builder<E>
- Parameters:
element
- the element to add- Returns:
- this
Builder
object - Throws:
NullPointerException
- ifelement
is null
-
add
@CanIgnoreReturnValue public ImmutableMultiset.Builder<E> add(E... elements)
Adds each element ofelements
to theImmutableMultiset
.- Overrides:
add
in classImmutableCollection.Builder<E>
- Parameters:
elements
- the elements to add- Returns:
- this
Builder
object - Throws:
NullPointerException
- ifelements
is null or contains a null element
-
addCopies
@CanIgnoreReturnValue public ImmutableMultiset.Builder<E> addCopies(E element, int occurrences)
Adds a number of occurrences of an element to thisImmutableMultiset
.- Parameters:
element
- the element to addoccurrences
- the number of occurrences of the element to add. May be zero, in which case no change will be made.- Returns:
- this
Builder
object - Throws:
NullPointerException
- ifelement
is nullIllegalArgumentException
- ifoccurrences
is negative, or if this operation would result in more thanInteger.MAX_VALUE
occurrences of the element
-
setCount
@CanIgnoreReturnValue public ImmutableMultiset.Builder<E> setCount(E element, int count)
Adds or removes the necessary occurrences of an element such that the element attains the desired count.- Parameters:
element
- the element to add or remove occurrences ofcount
- the desired count of the element in this multiset- Returns:
- this
Builder
object - Throws:
NullPointerException
- ifelement
is nullIllegalArgumentException
- ifcount
is negative
-
addAll
@CanIgnoreReturnValue public ImmutableMultiset.Builder<E> addAll(Iterable<? extends E> elements)
Adds each element ofelements
to theImmutableMultiset
.- Overrides:
addAll
in classImmutableCollection.Builder<E>
- Parameters:
elements
- theIterable
to add to theImmutableMultiset
- Returns:
- this
Builder
object - Throws:
NullPointerException
- ifelements
is null or contains a null element
-
addAll
@CanIgnoreReturnValue public ImmutableMultiset.Builder<E> addAll(Iterator<? extends E> elements)
Adds each element ofelements
to theImmutableMultiset
.- Overrides:
addAll
in classImmutableCollection.Builder<E>
- Parameters:
elements
- the elements to add to theImmutableMultiset
- Returns:
- this
Builder
object - Throws:
NullPointerException
- ifelements
is null or contains a null element
-
build
public ImmutableMultiset<E> build()
Returns a newly-createdImmutableMultiset
based on the contents of theBuilder
.- Specified by:
build
in classImmutableCollection.Builder<E>
-
-