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>
A builder for creating immutable multiset instances, especially
public 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
- Author:
- Jared Levy, Louis Wasserman
-
Constructor Summary
-
Method Summary
Modifier and TypeMethodDescriptionAddselement
to theImmutableMultiset
.Adds each element ofelements
to theImmutableMultiset
.Adds each element ofelements
to theImmutableMultiset
.Adds each element ofelements
to theImmutableMultiset
.Adds a number of occurrences of an element to thisImmutableMultiset
.build()
Returns a newly-createdImmutableMultiset
based on the contents of theBuilder
.Adds or removes the necessary occurrences of an element such that the element attains the desired count.
-
Constructor Details
-
Builder
public Builder()Creates a new builder. The returned builder is equivalent to the builder generated byImmutableMultiset.builder()
.
-
-
Method Details
-
add
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
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
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
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
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
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
Returns a newly-createdImmutableMultiset
based on the contents of theBuilder
.- Specified by:
build
in classImmutableCollection.Builder<E>
-