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:

    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
    • Method Detail

      • put

        @CanIgnoreReturnValue
        public ImmutableSortedMap.Builder<K,​Vput​(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

        @CanIgnoreReturnValue
        public ImmutableSortedMap.Builder<K,​Vput​(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

        @CanIgnoreReturnValue
        public ImmutableSortedMap.Builder<K,​VputAll​(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

        @CanIgnoreReturnValue
        public ImmutableSortedMap.Builder<K,​VputAll​(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,​Vbuild()
        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,​VbuildOrThrow()
        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
      • buildKeepingLast

        @Deprecated
        public final ImmutableSortedMap<K,​VbuildKeepingLast()
        Deprecated.
        This method is not currently implemented, and may never be.
        Throws UnsupportedOperationException. A future version may support this operation. Then the value for any given key will be the one that was last supplied in a put operation for that key.
        Overrides:
        buildKeepingLast in class ImmutableMap.Builder<K,​V>
        Throws:
        java.lang.UnsupportedOperationException - always
        Since:
        31.1