public static class ImmutableSortedMap.Builder<K,V> extends ImmutableMap.Builder<K,V>
public 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.
Modifier and Type | Field and Description |
---|---|
private java.util.Comparator<? super K> |
comparator |
entries, entriesUsed, size, valueComparator
Constructor and Description |
---|
Builder(java.util.Comparator<? super K> comparator)
Creates a new builder.
|
Modifier and Type | Method and 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.
|
(package private) ImmutableSortedMap.Builder<K,V> |
combine(ImmutableMap.Builder<K,V> other) |
ImmutableSortedMap.Builder<K,V> |
orderEntriesByValue(java.util.Comparator<? super V> valueComparator)
Deprecated.
Unsupported by ImmutableSortedMap.Builder.
|
ImmutableSortedMap.Builder<K,V> |
put(K key,
V value)
Associates
key with value in the built map. |
ImmutableSortedMap.Builder<K,V> |
put(java.util.Map.Entry<? extends K,? extends V> entry)
Adds the given
entry to the map, making it immutable if necessary. |
ImmutableSortedMap.Builder<K,V> |
putAll(java.lang.Iterable<? extends java.util.Map.Entry<? extends K,? extends V>> entries)
Adds all the given entries to the built map.
|
ImmutableSortedMap.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 map.
|
buildJdkBacked
private final java.util.Comparator<? super K> comparator
public Builder(java.util.Comparator<? super K> comparator)
ImmutableSortedMap.orderedBy(java.util.Comparator<K>)
.public ImmutableSortedMap.Builder<K,V> put(K key, V value)
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.put
in class ImmutableMap.Builder<K,V>
public ImmutableSortedMap.Builder<K,V> put(java.util.Map.Entry<? extends K,? extends V> entry)
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.put
in class ImmutableMap.Builder<K,V>
public ImmutableSortedMap.Builder<K,V> putAll(java.util.Map<? extends K,? extends V> map)
build()
to fail.putAll
in class ImmutableMap.Builder<K,V>
java.lang.NullPointerException
- if any key or value in map
is nullpublic ImmutableSortedMap.Builder<K,V> putAll(java.lang.Iterable<? extends java.util.Map.Entry<? extends K,? extends V>> entries)
build()
to
fail.putAll
in class ImmutableMap.Builder<K,V>
java.lang.NullPointerException
- if any key, value, or entry is null@Deprecated public final ImmutableSortedMap.Builder<K,V> orderEntriesByValue(java.util.Comparator<? super V> valueComparator)
UnsupportedOperationException
.orderEntriesByValue
in class ImmutableMap.Builder<K,V>
ImmutableSortedMap.Builder<K,V> combine(ImmutableMap.Builder<K,V> other)
combine
in class ImmutableMap.Builder<K,V>
public ImmutableSortedMap<K,V> build()
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.
build
in class ImmutableMap.Builder<K,V>
java.lang.IllegalArgumentException
- if any two keys are equal according to the comparator (which
might be the keys' natural order)public ImmutableSortedMap<K,V> buildOrThrow()
buildOrThrow
in class ImmutableMap.Builder<K,V>
java.lang.IllegalArgumentException
- if any two keys are equal according to the comparator (which
might be the keys' natural order)@Deprecated public final ImmutableSortedMap<K,V> buildKeepingLast()
put
operation for
that key.buildKeepingLast
in class ImmutableMap.Builder<K,V>
java.lang.UnsupportedOperationException
- always