MinMaxPriorityQueue.Builder
Date: 2016-05-24

com.google.common.collect

## Class MinMaxPriorityQueue.Builder<B>

- java.lang.Object
- - com.google.common.collect.MinMaxPriorityQueue.Builder<B>

- Type Parameters:
    `B` - the upper bound on the eventual type that can be produced by this builder (for example, a `Builder<Number>` can produce a `Queue<Number>` or `Queue<Integer>` but not a `Queue<Object>`).
  Enclosing class:
    MinMaxPriorityQueue<E>

      @Beta
      public static final class MinMaxPriorityQueue.Builder<B>
      extends java.lang.Object

  The builder class used in creation of min-max priority queues. Instead of constructing one directly, use `MinMaxPriorityQueue.orderedBy(Comparator)`, `MinMaxPriorityQueue.expectedSize(int)` or `MinMaxPriorityQueue.maximumSize(int)`.
  Since:
    8.0

- - ### Method Summary

    Methods
    Modifier and Type | Method and Description
    --- | ---
    `<T extends B> MinMaxPriorityQueue<T>` | `create()` Builds a new min-max priority queue using the previously specified options, and having no initial contents.
    `<T extends B> MinMaxPriorityQueue<T>` | `create(java.lang.Iterable<? extends T> initialContents)` Builds a new min-max priority queue using the previously specified options, and having the given initial elements.
    `MinMaxPriorityQueue.Builder<B>` | `expectedSize(int expectedSize)` Configures this builder to build min-max priority queues with an initial expected size of `expectedSize`.
    `MinMaxPriorityQueue.Builder<B>` | `maximumSize(int maximumSize)` Configures this builder to build `MinMaxPriorityQueue` instances that are limited to `maximumSize` elements.

    - ### Methods inherited from class java.lang.Object

      `clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait`

- - ### Method Detail

    - #### expectedSize

          public MinMaxPriorityQueue.Builder<B> expectedSize(int expectedSize)

      Configures this builder to build min-max priority queues with an initial expected size of `expectedSize`.

    - #### maximumSize

          public MinMaxPriorityQueue.Builder<B> maximumSize(int maximumSize)

      Configures this builder to build `MinMaxPriorityQueue` instances that are limited to `maximumSize` elements. Each time a queue grows beyond this bound, it immediately removes its greatest element (according to its comparator), which might be the element that was just added.

    - #### create

          public <T extends B> MinMaxPriorityQueue<T> create()

      Builds a new min-max priority queue using the previously specified options, and having no initial contents.

    - #### create

          public <T extends B> MinMaxPriorityQueue<T> create(java.lang.Iterable<? extends T> initialContents)

      Builds a new min-max priority queue using the previously specified options, and having the given initial elements.