Class 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")
             .buildOrThrow();
     

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

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

    Since:
    2.0
    • Field Detail

      • comparator

        private final java.util.Comparator<? super K> comparator
    • Method Detail

      • 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

        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
      • build

        public ImmutableSortedMap<K,​V> build()
        Returns a newly-created immutable sorted map.

        Prefer the equivalent method buildOrThrow() to make it explicit that the method will throw an exception if there are duplicate keys. The build() method will soon be deprecated.

        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)
      • buildOrThrow

        public ImmutableSortedMap<K,​V> buildOrThrow()
        Returns a newly-created immutable sorted map, or throws an exception if any two keys are equal.
        Overrides:
        buildOrThrow 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)
        Since:
        31.0