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

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

Enclosing class:
  ImmutableSortedMultiset<E>

    public static class ImmutableSortedMultiset.Builder<E>

extends ImmutableMultiset.Builder<E>

A builder for creating immutable multiset instances, especially `public static final` multisets ("constant multisets"). Example:

     public static final ImmutableSortedMultiset<Bean> BEANS =
           new ImmutableSortedMultiset.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:
  12.0

Constructor Summary
`ImmutableSortedMultiset.Builder(Comparator<? super E> comparator)` Creates a new builder.

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

### ImmutableSortedMultiset.Builder

    public ImmutableSortedMultiset.Builder(Comparator<? super E> comparator)

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

Method Detail

### add

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

  Adds `element` to the `ImmutableSortedMultiset`.

  Overrides:
    `add` in class `ImmutableMultiset.Builder<E>`
  Parameters:
    `element` - the element to add
  Returns:
    this `Builder` object
  Throws:
    `NullPointerException` - if `element` is null

### addCopies

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

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

  Overrides:
    `addCopies` in class `ImmutableMultiset.Builder<E>`
  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 ImmutableSortedMultiset.Builder<E> setCount(E element,
                                                       int count)

  Adds or removes the necessary occurrences of an element such that the element attains the desired count.

  Overrides:
    `setCount` in class `ImmutableMultiset.Builder<E>`
  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 ImmutableSortedMultiset.Builder<E> add(E... elements)

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

  Overrides:
    `add` in class `ImmutableMultiset.Builder<E>`
  Parameters:
    `elements` - the elements to add
  Returns:
    this `Builder` object
  Throws:
    `NullPointerException` - if `elements` is null or contains a null element

### addAll

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

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

  Overrides:
    `addAll` in class `ImmutableMultiset.Builder<E>`
  Parameters:
    `elements` - the `Iterable` to add to the `ImmutableSortedMultiset`
  Returns:
    this `Builder` object
  Throws:
    `NullPointerException` - if `elements` is null or contains a null element

### addAll

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

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

  Overrides:
    `addAll` in class `ImmutableMultiset.Builder<E>`
  Parameters:
    `elements` - the elements to add to the `ImmutableSortedMultiset`
  Returns:
    this `Builder` object
  Throws:
    `NullPointerException` - if `elements` is null or contains a null element

### build

    public ImmutableSortedMultiset<E> build()

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

  Overrides:
    `build` in class `ImmutableMultiset.Builder<E>`

Copyright © 2010-2012. All Rights Reserved.