Package com.google.common.collect
Class ImmutableSortedMap.Builder<K,V>
- java.lang.Object
-
- com.google.common.collect.ImmutableMap.Builder<K,V>
-
- com.google.common.collect.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, especiallypublic 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
-
-
Constructor Summary
Constructors Constructor Description Builder(Comparator<? super K> comparator)
Creates a new builder.
-
Method Summary
All Methods Instance Methods Concrete Methods Deprecated Methods Modifier and Type Method Description ImmutableSortedMap<K,V>
build()
Returns a newly-created immutable sorted map.ImmutableSortedMap<K,V>
buildKeepingLast()
Deprecated.This method is not currently implemented, and may never be.ImmutableSortedMap<K,V>
buildOrThrow()
Returns a newly-created immutable sorted map, or throws an exception if any two keys are equal.ImmutableSortedMap.Builder<K,V>
orderEntriesByValue(Comparator<? super V> valueComparator)
Deprecated.Unsupported by ImmutableSortedMap.Builder.ImmutableSortedMap.Builder<K,V>
put(Map.Entry<? extends K,? extends V> entry)
Adds the givenentry
to the map, making it immutable if necessary.ImmutableSortedMap.Builder<K,V>
put(K key, V value)
Associateskey
withvalue
in the built map.ImmutableSortedMap.Builder<K,V>
putAll(Iterable<? extends Map.Entry<? extends K,? extends V>> entries)
Adds all the given entries to the built map.ImmutableSortedMap.Builder<K,V>
putAll(Map<? extends K,? extends V> map)
Associates all of the given map's keys and values in the built map.
-
-
-
Constructor Detail
-
Builder
public Builder(Comparator<? super K> comparator)
Creates a new builder. The returned builder is equivalent to the builder generated byImmutableSortedMap.orderedBy(java.util.Comparator<K>)
.
-
-
Method Detail
-
put
@CanIgnoreReturnValue public ImmutableSortedMap.Builder<K,V> put(K key, V value)
Associateskey
withvalue
in the built map. Duplicate keys, according to the comparator (which might be the keys' natural order), are not allowed, and will causebuild()
to fail.- Overrides:
put
in classImmutableMap.Builder<K,V>
-
put
@CanIgnoreReturnValue public ImmutableSortedMap.Builder<K,V> put(Map.Entry<? extends K,? extends V> entry)
Adds the givenentry
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 causebuild()
to fail.- Overrides:
put
in classImmutableMap.Builder<K,V>
- Since:
- 11.0
-
putAll
@CanIgnoreReturnValue public ImmutableSortedMap.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, according to the comparator (which might be the keys' natural order), are not allowed, and will causebuild()
to fail.- Overrides:
putAll
in classImmutableMap.Builder<K,V>
- Throws:
NullPointerException
- if any key or value inmap
is null
-
putAll
@CanIgnoreReturnValue @Beta public ImmutableSortedMap.Builder<K,V> putAll(Iterable<? extends 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 causebuild()
to fail.- Overrides:
putAll
in classImmutableMap.Builder<K,V>
- Throws:
NullPointerException
- if any key, value, or entry is null- Since:
- 19.0
-
orderEntriesByValue
@CanIgnoreReturnValue @Beta @Deprecated public final ImmutableSortedMap.Builder<K,V> orderEntriesByValue(Comparator<? super V> valueComparator)
Deprecated.Unsupported by ImmutableSortedMap.Builder.Throws anUnsupportedOperationException
.- Overrides:
orderEntriesByValue
in classImmutableMap.Builder<K,V>
- 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. Thebuild()
method will soon be deprecated.- Overrides:
build
in classImmutableMap.Builder<K,V>
- Throws:
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 classImmutableMap.Builder<K,V>
- Throws:
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,V> buildKeepingLast()
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 aput
operation for that key.- Overrides:
buildKeepingLast
in classImmutableMap.Builder<K,V>
- Throws:
UnsupportedOperationException
- always- Since:
- 31.1
-
-