com.google.common.collect

## Class ImmutableSortedMap.Builder<K,V>

- java.lang.Object
- - com.google.common.collect.ImmutableMap.Builder<K,V>
  - - com.google.common.collect.ImmutableSortedMap.Builder<K,V>

- Enclosing class:
    ImmutableSortedMap<K,V>

      public static class ImmutableSortedMap.Builder<K,V>
      extends ImmutableMap.Builder<K,V>

  A builder for creating immutable sorted map instances, especially `public static final` maps ("constant maps"). Example:

         static final ImmutableSortedMap<Integer, String> INT_TO_WORD =
             new ImmutableSortedMap.Builder<Integer, String>(Ordering.natural())
                 .put(1, "one")
                 .put(2, "two")
                 .put(3, "three")
                 .build();

  For small immutable sorted maps, the `ImmutableSortedMap.of()` methods are even more convenient.

  Builder instances can be reused - it is safe to call `build()` multiple times to build multiple maps in series. Each map is a superset of the maps created before it.

  Since:
    2.0

- - ### Constructor Summary

    Constructors
    Constructor and Description
    `ImmutableSortedMap.Builder(java.util.Comparator<? super K> comparator)` Creates a new builder.

  - ### Method Summary

    Methods
    Modifier and Type | Method and Description
    --- | ---
    `ImmutableSortedMap<K,V>` | `build()` Returns a newly-created immutable sorted map.
    `ImmutableSortedMap.Builder<K,V>` | `orderEntriesByValue(java.util.Comparator<? super V> valueComparator)` Deprecated. Unsupported by ImmutableSortedMap.Builder.
    `ImmutableSortedMap.Builder<K,V>` | `put(K key, V value)` Associates `key` with `value` in the built map.
    `ImmutableSortedMap.Builder<K,V>` | `put(java.util.Map.Entry<? extends K,? extends V> entry)` Adds the given `entry` to the map, making it immutable if necessary.
    `ImmutableSortedMap.Builder<K,V>` | `putAll(java.lang.Iterable<? extends java.util.Map.Entry<? extends K,? extends V>> entries)` Adds all the given entries to the built map.
    `ImmutableSortedMap.Builder<K,V>` | `putAll(java.util.Map<? extends K,? extends V> map)` Associates all of the given map's keys and values in the built map.

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

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

- - ### Constructor Detail

    - #### ImmutableSortedMap.Builder

          public ImmutableSortedMap.Builder(java.util.Comparator<? super K> comparator)

      Creates a new builder. The returned builder is equivalent to the builder generated by `ImmutableSortedMap.orderedBy(java.util.Comparator<K>)`.

  - ### Method Detail

    - #### put

          public ImmutableSortedMap.Builder<K,V> put(K key,
                                            V value)

      Associates `key` with `value` in the built map. Duplicate keys, according to the comparator (which might be the keys' natural order), are not allowed, and will cause `build()` to fail.
      Overrides:
        `put` in class `ImmutableMap.Builder<K,V>`

    - #### put

          public ImmutableSortedMap.Builder<K,V> put(java.util.Map.Entry<? extends K,? extends V> entry)

      Adds the given `entry` to the map, making it immutable if necessary. Duplicate keys, according to the comparator (which might be the keys' natural order), are not allowed, and will cause `build()` to fail.
      Overrides:
        `put` in class `ImmutableMap.Builder<K,V>`
      Since:
        11.0

    - #### putAll

          public ImmutableSortedMap.Builder<K,V> putAll(java.util.Map<? extends K,? extends V> map)

      Associates all of the given map's keys and values in the built map. Duplicate keys, according to the comparator (which might be the keys' natural order), are not allowed, and will cause `build()` to fail.
      Overrides:
        `putAll` in class `ImmutableMap.Builder<K,V>`
      Throws:
        `java.lang.NullPointerException` - if any key or value in `map` is null

    - #### putAll

          @Beta
          public ImmutableSortedMap.Builder<K,V> putAll(java.lang.Iterable<? extends java.util.Map.Entry<? extends K,? extends V>> entries)

      Adds all the given entries to the built map. Duplicate keys, according to the comparator (which might be the keys' natural order), are not allowed, and will cause `build()` to fail.
      Overrides:
        `putAll` in class `ImmutableMap.Builder<K,V>`
      Throws:
        `java.lang.NullPointerException` - if any key, value, or entry is null
      Since:
        19.0

    - #### orderEntriesByValue

          @Beta
          @Deprecated
          public ImmutableSortedMap.Builder<K,V> orderEntriesByValue(java.util.Comparator<? super V> valueComparator)

      Deprecated. Unsupported by ImmutableSortedMap.Builder.
      Throws an `UnsupportedOperationException`.
      Overrides:
        `orderEntriesByValue` in class `ImmutableMap.Builder<K,V>`
      Since:
        19.0

    - #### build

          public ImmutableSortedMap<K,V> build()

      Returns a newly-created immutable sorted map.
      Overrides:
        `build` in class `ImmutableMap.Builder<K,V>`
      Throws:
        `java.lang.IllegalArgumentException` - if any two keys are equal according to the comparator (which might be the keys' natural order)