Class ImmutableMap.Builder<K,​V>

  • Direct Known Subclasses:
    ImmutableBiMap.Builder, ImmutableSortedMap.Builder
    Enclosing class:
    ImmutableMap<K,​V>

    public static class ImmutableMap.Builder<K,​V>
    extends Object
    A builder for creating immutable map instances, especially public static final maps ("constant maps"). Example:
       
    
       static final ImmutableMap<String, Integer> WORD_TO_INT =
           new ImmutableMap.Builder<String, Integer>()
               .put("one", 1)
               .put("two", 2)
               .put("three", 3)
               .build();

    For small immutable maps, the ImmutableMap.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 (imported from Google Collections Library)
    • Constructor Detail

      • Builder

        public Builder()
        Creates a new builder. The returned builder is equivalent to the builder generated by ImmutableMap.builder().
    • Method Detail

      • put

        public ImmutableMap.Builder<K,​V> put​(K key,
                                                   V value)
        Associates key with value in the built map. Duplicate keys are not allowed, and will cause build() to fail.
      • put

        public ImmutableMap.Builder<K,​V> put​(Map.Entry<? extends K,​? extends V> entry)
        Adds the given entry to the map, making it immutable if necessary. Duplicate keys are not allowed, and will cause build() to fail.
        Since:
        11.0
      • putAll

        public ImmutableMap.Builder<K,​V> putAll​(Map<? extends K,​? extends V> map)
        Associates all of the given map's keys and values in the built map. Duplicate keys are not allowed, and will cause build() to fail.
        Throws:
        NullPointerException - if any key or value in map is null