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.
Constructor and Description |
---|
Builder()
Creates a new builder.
|
Builder(int initialCapacity)
Creates a new builder with the given initial capacity.
|
Modifier and Type | Method and Description |
---|---|
ImmutableBiMap<K,V> |
build()
Returns a newly-created immutable bimap.
|
ImmutableBiMap.Builder<K,V> |
orderEntriesByValue(Comparator<? super V> valueComparator)
Configures this
Builder to order entries by value according to the specified comparator. |
ImmutableBiMap.Builder<K,V> |
put(K key,
V value)
Associates
key with value in the built bimap. |
ImmutableBiMap.Builder<K,V> |
put(Map.Entry<? extends K,? extends V> entry)
Adds the given
entry to the bimap. |
ImmutableBiMap.Builder<K,V> |
putAll(Iterable<? extends Map.Entry<? extends K,? extends V>> entries)
Adds all of the given entries to the built bimap.
|
ImmutableBiMap.Builder<K,V> |
putAll(Map<? extends K,? extends V> map)
Associates all of the given map’s keys and values in the built bimap.
|
public Builder()
Creates a new builder. The returned builder is equivalent to the builder generated by ImmutableBiMap.builder()
.
public Builder(int initialCapacity)
Creates a new builder with the given initial capacity. The returned builder is equivalent to the builder generated by ImmutableBiMap.builder(int)
.
public ImmutableBiMap.Builder<K,V> put(K key, V value)
Associates key
with value
in the built bimap. Duplicate keys or values are not allowed, and will cause build()
to fail.
put
in class ImmutableMap.Builder<K,V>
public ImmutableBiMap.Builder<K,V> put(Map.Entry<? extends K,? extends V> entry)
Adds the given entry
to the bimap. Duplicate keys or values are not allowed, and will cause build()
to fail.
put
in class ImmutableMap.Builder<K,V>
public ImmutableBiMap.Builder<K,V> putAll(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.
putAll
in class ImmutableMap.Builder<K,V>
NullPointerException
- if any key or value in map
is null@Beta public ImmutableBiMap.Builder<K,V> putAll(Iterable<? extends Map.Entry<? extends K,? extends V>> entries)
Adds all of the given entries to the built bimap. Duplicate keys or values are not allowed, and will cause build()
to fail.
putAll
in class ImmutableMap.Builder<K,V>
NullPointerException
- if any key, value, or entry is null@Beta public ImmutableBiMap.Builder<K,V> orderEntriesByValue(Comparator<? super V> valueComparator)
Configures this Builder
to order entries by value according to the specified comparator.
The sort order is stable, that is, if two entries have values that compare as equivalent, the entry that was inserted first will be first in the built map’s iteration order.
orderEntriesByValue
in class ImmutableMap.Builder<K,V>
IllegalStateException
- if this method was already calledpublic ImmutableBiMap<K,V> build()
Returns a newly-created immutable bimap.
build
in class ImmutableMap.Builder<K,V>
IllegalArgumentException
- if duplicate keys or values were added