A RangeMap<K,V> whose contents will never change, with many other important properties detailed at ImmutableCollection<E>.
A pair maintaining a key and a value.
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.
Specifies the ordering of the generated multimap's values for each key. If this method is called, the sets returned by the get() method of the generated multimap and its asMap() view are ImmutableSortedSet<E> instances. However, serialization does not preserve that property, though it does maintain the key and value ordering.