Copies all associations from the specified range map into this builder.
Returns a Collector that accumulates elements into an ImmutableMap whose keys and values are the result of applying the provided mapping functions to the input elements. Entries appear in the result ImmutableMap in encounter order. If the mapped keys contain duplicates (according to Object#equals(Object), an IllegalArgumentException is thrown when the collection operation is performed. (This differs from the Collector returned by Collectors#toMap(Function, Function), which throws an IllegalStateException.)
Returns a builder that creates immutable sorted maps with an explicit comparator. If the comparator has a more general type than the map's keys, such as creating a SortedMap with a Comparator, use the ImmutableSortedMap.Builder<K,V> constructor instead.
The hash code equals the value Arrays.asList(leftValue(), rightValue()).hashCode().
Implementation of Multimap that uses an ArrayList to store the values for a given key. A HashMap associates each key with an ArrayList of values. When iterating through the collections supplied by this class, the ordering of values for a given key agrees with the order in which the values were added. This multimap allows duplicate key-value pairs. After adding a new key-value pair equal to an existing key-value pair, the ArrayListMultimap will contain entries for both the new value and the old value. Keys and values may be null. All optional multimap methods are supported, and all returned views are modifiable. The lists returned by #get, #removeAll, and #replaceValues all implement java.util.RandomAccess. This class is not threadsafe when any concurrent operations update the multimap. Concurrent read operations will work correctly. To allow concurrent update operations, wrap your multimap with a call to Multimaps#synchronizedListMultimap. See the Guava User Guide article on Multimap.
A Multimap that cannot hold duplicate key-value pairs. Adding a key-value pair that's already in the multimap has no effect. See the Multimap<K,V> documentation for information common to all multimaps. The #get, #removeAll, and #replaceValues methods each return a Set of values, while #entries returns a Set of map entries. Though the method signature doesn't say so explicitly, the map returned by #asMap has Set values. If the values corresponding to a single key should be ordered according to a java.util.Comparator (or the natural order), see the SortedSetMultimap<K,V> subinterface. Since the value collections are sets, the behavior of a SetMultimap is not specified if key or value objects already present in the multimap change in a manner that affects equals comparisons. Use caution if mutable objects are used as keys or values in a SetMultimap. See the Guava User Guide article on Multimap.