Overview | Package | Class | Use | Tree | Deprecated | Index | Help
PREV CLASS NEXT CLASS | FRAMES NO FRAMES
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD

## com.google.common.collect
Class ImmutableMultiset.Builder<E>

    java.lang.Object
      com.google.common.collect.ImmutableMultiset.Builder<E>

Enclosing class:
  ImmutableMultiset<E>

    public static final class ImmutableMultiset.Builder<E>

extends Object

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. Each multiset is a superset of the multiset created before it.

Constructor Summary
`ImmutableMultiset.Builder()` Creates a new builder.

Method Summary
`ImmutableMultiset.Builder<E>` | `add(E... elements)` Adds each element of `elements` to the `ImmutableMultiset`.
`ImmutableMultiset.Builder<E>` | `add(E element)` Adds `element` to the `ImmutableMultiset`.
`ImmutableMultiset.Builder<E>` | `addAll(Iterable<? extends E> elements)` Adds each element of `elements` to the `ImmutableMultiset`.
`ImmutableMultiset.Builder<E>` | `addAll(Iterator<? extends E> elements)` Adds each element of `elements` to the `ImmutableMultiset`.
`ImmutableMultiset.Builder<E>` | `addCopies(E element, int occurrences)` Adds a number of occurrences of an element to this `ImmutableMultiset`.
`ImmutableMultiset<E>` | `build()` Returns a newly-created `ImmutableMultiset` based on the contents of the `Builder`.
`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.

Methods inherited from class java.lang.Object
`clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait`

Constructor Detail

### ImmutableMultiset.Builder

    public ImmutableMultiset.Builder()

  Creates a new builder. The returned builder is equivalent to the builder generated by `ImmutableMultiset.builder()`.

Method Detail

### add

    public ImmutableMultiset.Builder<E> add(E element)

  Adds `element` to the `ImmutableMultiset`.

  Parameters:
    `element` - the element to add
  Returns:
    this `Builder` object
  Throws:
    `NullPointerException` - if `element` is null

### addCopies

    public ImmutableMultiset.Builder<E> addCopies(E element,
                                                  int occurrences)

  Adds a number of occurrences of an element to this `ImmutableMultiset`.

  Parameters:
    `element` - the element to add
    `occurrences` - 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` - if `element` is null
    `IllegalArgumentException` - if `occurrences` is negative, or if this operation would result in more than `Integer.MAX_VALUE` occurrences of the element

### setCount

    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 of
    `count` - the desired count of the element in this multiset
  Returns:
    this `Builder` object
  Throws:
    `NullPointerException` - if `element` is null
    `IllegalArgumentException` - if `count` is negative

### add

    public ImmutableMultiset.Builder<E> add(E... elements)

  Adds each element of `elements` to the `ImmutableMultiset`.

  Parameters:
    `elements` - the elements to add
  Returns:
    this `Builder` object
  Throws:
    `NullPointerException` - if `elements` is null or contains a null element

### addAll

    public ImmutableMultiset.Builder<E> addAll(Iterable<? extends E> elements)

  Adds each element of `elements` to the `ImmutableMultiset`.

  Parameters:
    `elements` - the `Iterable` to add to the `ImmutableMultiset`
  Returns:
    this `Builder` object
  Throws:
    `NullPointerException` - if `elements` is null or contains a null element

### addAll

    public ImmutableMultiset.Builder<E> addAll(Iterator<? extends E> elements)

  Adds each element of `elements` to the `ImmutableMultiset`.

  Parameters:
    `elements` - the elements to add to the `ImmutableMultiset`
  Returns:
    this `Builder` object
  Throws:
    `NullPointerException` - if `elements` is null or contains a null element

### build

    public ImmutableMultiset<E> build()

  Returns a newly-created `ImmutableMultiset` based on the contents of the `Builder`.

Overview | Package | Class | Use | Tree | Deprecated | Index | Help
PREV CLASS NEXT CLASS | FRAMES NO FRAMES
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD