Class ImmutableBiMap.Builder<K,​V>

  • Enclosing class:
    ImmutableBiMap<K,​V>

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

    For small immutable bimaps, the ImmutableBiMap.of() methods are even more convenient.

    Builder instances can be reused - it is safe to call build() multiple times to build multiple bimaps in series. Each bimap is a superset of the bimaps 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 ImmutableBiMap.builder().
    • Method Detail

      • putAll

        public ImmutableBiMap.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 bimap. Duplicate keys or values 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
      • build

        public ImmutableBiMap<K,​V> build()
        Returns a newly-created immutable bimap.
        Overrides:
        build in class ImmutableMap.Builder<K,​V>
        Throws:
        java.lang.IllegalArgumentException - if duplicate keys or values were added