A Multimap that can hold duplicate key-value pairs and that maintains the insertion ordering of values for a given key. See the Multimap<K,V> documentation for information common to all multimaps. The #get, #removeAll, and #replaceValues methods each return a List of values. Though the method signature doesn't say so explicitly, the map returned by #asMap has List values. See the Guava User Guide article on Multimap.
A multimap which forwards all its method calls to another multimap. Subclasses should override one or more methods to modify the behavior of the backing multimap as desired per the decorator pattern. default method warning: This class does not forward calls to default methods. Instead, it inherits their default implementations. When those implementations invoke methods, they invoke methods on the ForwardingMultimap.
A map entry which forwards all its method calls to another map entry. Subclasses should override one or more methods to modify the behavior of the backing map entry as desired per the decorator pattern. Warning: The methods of ForwardingMapEntry forward indiscriminately to the methods of the delegate. For example, overriding #getValue alone will not change the behavior of #equals, which can lead to unexpected behavior. In this case, you should override equals as well, either providing your own implementation, or delegating to the provided standardEquals method. Each of the standard methods, where appropriate, use equal to test equality for both keys and values. This may not be the desired behavior for map implementations that use non-standard notions of key equality, such as the entry of a SortedMap whose comparator is not consistent with equals. The standard methods are not guaranteed to be thread-safe, even when all of the methods that they depend on are thread-safe.
HashEntry used to store the data. If you subclass AbstractHashedMap but not HashEntry then you will not be able to access the protected fields. The entryXxx() methods on AbstractHashedMap exist to provide the necessary access.
An object representing the differences between two sorted maps.
Implementation of Multimap<K,V> using hash tables. The multimap does not store duplicate key-value pairs. Adding a new key-value pair equal to an existing key-value pair has no effect. Keys and values may be null. All optional multimap methods are supported, and all returned views are modifiable. 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#synchronizedSetMultimap.
A RangeMap<K,V> whose contents will never change, with many other important properties detailed at ImmutableCollection<E>.