@GwtCompatible(serializable=true, emulated=true) public class ImmutableListMultimap<K,V> extends ImmutableMultimap<K,V> implements ListMultimap<K,V>
ListMultimap whose contents will never change, with many other important properties
 detailed at ImmutableCollection.
 See the Guava User Guide article on immutable collections.
| Modifier and Type | Class and Description | 
|---|---|
static class  | 
ImmutableListMultimap.Builder<K,V>
A builder for creating immutable  
ListMultimap instances, especially
 public static final multimaps ("constant multimaps"). | 
| Modifier and Type | Method and Description | 
|---|---|
static <K,V> ImmutableListMultimap.Builder<K,V> | 
builder()
Returns a new builder. 
 | 
boolean | 
containsEntry(Object key,
             Object value)
Returns  
true if this multimap contains at least one key-value pair
 with the key key and the value value. | 
static <K,V> ImmutableListMultimap<K,V> | 
copyOf(Iterable<? extends Map.Entry<? extends K,? extends V>> entries)
Returns an immutable multimap containing the specified entries. 
 | 
static <K,V> ImmutableListMultimap<K,V> | 
copyOf(Multimap<? extends K,? extends V> multimap)
Returns an immutable multimap containing the same mappings as  
multimap. | 
boolean | 
equals(Object object)
Compares the specified object with this multimap for equality. 
 | 
static <T,K,V> Collector<T,?,ImmutableListMultimap<K,V>> | 
flatteningToImmutableListMultimap(Function<? super T,? extends K> keyFunction,
                                 Function<? super T,? extends Stream<? extends V>> valuesFunction)
Returns a  
Collector accumulating entries into an ImmutableListMultimap. | 
ImmutableList<V> | 
get(K key)
Returns an immutable list of the values for the given key. 
 | 
int | 
hashCode()
Returns the hash code for this multimap. 
 | 
ImmutableListMultimap<V,K> | 
inverse()
Returns an immutable multimap which is the inverse of this one. 
 | 
boolean | 
isEmpty()
Returns  
true if this multimap contains no key-value pairs. | 
static <K,V> ImmutableListMultimap<K,V> | 
of()
Returns the empty multimap. 
 | 
static <K,V> ImmutableListMultimap<K,V> | 
of(K k1,
  V v1)
Returns an immutable multimap containing a single entry. 
 | 
static <K,V> ImmutableListMultimap<K,V> | 
of(K k1,
  V v1,
  K k2,
  V v2)
Returns an immutable multimap containing the given entries, in order. 
 | 
static <K,V> ImmutableListMultimap<K,V> | 
of(K k1,
  V v1,
  K k2,
  V v2,
  K k3,
  V v3)
Returns an immutable multimap containing the given entries, in order. 
 | 
static <K,V> ImmutableListMultimap<K,V> | 
of(K k1,
  V v1,
  K k2,
  V v2,
  K k3,
  V v3,
  K k4,
  V v4)
Returns an immutable multimap containing the given entries, in order. 
 | 
static <K,V> ImmutableListMultimap<K,V> | 
of(K k1,
  V v1,
  K k2,
  V v2,
  K k3,
  V v3,
  K k4,
  V v4,
  K k5,
  V v5)
Returns an immutable multimap containing the given entries, in order. 
 | 
ImmutableList<V> | 
removeAll(Object key)
Deprecated. 
 
Unsupported operation. 
 | 
ImmutableList<V> | 
replaceValues(K key,
             Iterable<? extends V> values)
Deprecated. 
 
Unsupported operation. 
 | 
static <T,K,V> Collector<T,?,ImmutableListMultimap<K,V>> | 
toImmutableListMultimap(Function<? super T,? extends K> keyFunction,
                       Function<? super T,? extends V> valueFunction)
Returns a  
Collector that accumulates elements into an ImmutableListMultimap
 whose keys and values are the result of applying the provided mapping functions to the input
 elements. | 
String | 
toString()
Returns a string representation of the multimap, generated by calling
  
toString on the map returned by Multimap.asMap(). | 
asMap, clear, containsKey, containsValue, entries, forEach, keys, keySet, put, putAll, putAll, remove, size, valuesclone, finalize, getClass, notify, notifyAll, wait, wait, waitasMap, equals@Beta public static <T,K,V> Collector<T,?,ImmutableListMultimap<K,V>> toImmutableListMultimap(Function<? super T,? extends K> keyFunction, Function<? super T,? extends V> valueFunction)
Collector that accumulates elements into an ImmutableListMultimap
 whose keys and values are the result of applying the provided mapping functions to the input
 elements.
 For streams with defined encounter order, that order is preserved, but entries are grouped by key. Example:
   
   static final Multimap<Character, String> FIRST_LETTER_MULTIMAP =
       Stream.of("banana", "apple", "carrot", "asparagus", "cherry")
           .collect(toImmutableListMultimap(str -> str.charAt(0), str -> str.substring(1)));
   // is equivalent to
   static final Multimap<Character, String> FIRST_LETTER_MULTIMAP =
       new ImmutableListMultimap.Builder<Character, String>()
           .put('b', "anana")
           .putAll('a', "pple", "sparagus")
           .putAll('c', "arrot", "herry")
           .build();@Beta public static <T,K,V> Collector<T,?,ImmutableListMultimap<K,V>> flatteningToImmutableListMultimap(Function<? super T,? extends K> keyFunction, Function<? super T,? extends Stream<? extends V>> valuesFunction)
Collector accumulating entries into an ImmutableListMultimap. Each
 input element is mapped to a key and a stream of values, each of which are put into the
 resulting Multimap, in the encounter order of the stream and the encounter order of the
 streams of values.
 Example:
 static final ImmutableListMultimap<Character, Character> FIRST_LETTER_MULTIMAP =
     Stream.of("banana", "apple", "carrot", "asparagus", "cherry")
         .collect(
             flatteningToImmutableListMultimap(
                  str -> str.charAt(0),
                  str -> str.substring(1).chars().mapToObj(c -> (char) c));
 // is equivalent to
 static final ImmutableListMultimap<Character, Character> FIRST_LETTER_MULTIMAP =
     ImmutableListMultimap.<Character, Character>builder()
         .putAll('b', Arrays.asList('a', 'n', 'a', 'n', 'a'))
         .putAll('a', Arrays.asList('p', 'p', 'l', 'e'))
         .putAll('c', Arrays.asList('a', 'r', 'r', 'o', 't'))
         .putAll('a', Arrays.asList('s', 'p', 'a', 'r', 'a', 'g', 'u', 's'))
         .putAll('c', Arrays.asList('h', 'e', 'r', 'r', 'y'))
         .build();
 
 }public static <K,V> ImmutableListMultimap<K,V> of()
public static <K,V> ImmutableListMultimap<K,V> of(K k1, V v1)
public static <K,V> ImmutableListMultimap<K,V> of(K k1, V v1, K k2, V v2)
public static <K,V> ImmutableListMultimap<K,V> of(K k1, V v1, K k2, V v2, K k3, V v3)
public static <K,V> ImmutableListMultimap<K,V> of(K k1, V v1, K k2, V v2, K k3, V v3, K k4, V v4)
public static <K,V> ImmutableListMultimap<K,V> of(K k1, V v1, K k2, V v2, K k3, V v3, K k4, V v4, K k5, V v5)
public static <K,V> ImmutableListMultimap.Builder<K,V> builder()
ImmutableListMultimap.Builder constructor.public static <K,V> ImmutableListMultimap<K,V> copyOf(Multimap<? extends K,? extends V> multimap)
multimap. The generated multimap's key and value orderings correspond to
 the iteration ordering of the multimap.asMap() view.
 Despite the method name, this method attempts to avoid actually copying the data when it is safe to do so. The exact circumstances under which a copy will or will not be performed are undocumented and subject to change.
NullPointerException - if any key or value in multimap is
         null@Beta public static <K,V> ImmutableListMultimap<K,V> copyOf(Iterable<? extends Map.Entry<? extends K,? extends V>> entries)
NullPointerException - if any key, value, or entry is nullpublic ImmutableList<V> get(@Nullable K key)
public ImmutableListMultimap<V,K> inverse()
Because an inverse of a list multimap can contain multiple pairs with
 the same key and value, this method returns an ImmutableListMultimap rather than the ImmutableMultimap specified
 in the ImmutableMultimap class.
inverse in class ImmutableMultimap<K,V>@Deprecated public ImmutableList<V> removeAll(Object key)
removeAll in interface ListMultimap<K,V>removeAll in interface Multimap<K,V>removeAll in class ImmutableMultimap<K,V>UnsupportedOperationException - always@Deprecated public ImmutableList<V> replaceValues(K key, Iterable<? extends V> values)
replaceValues in interface ListMultimap<K,V>replaceValues in interface Multimap<K,V>replaceValues in class ImmutableMultimap<K,V>UnsupportedOperationException - alwayspublic boolean isEmpty()
Multimaptrue if this multimap contains no key-value pairs.
 Equivalent to size() == 0, but can in some cases be more efficient.public boolean containsEntry(@Nullable Object key, @Nullable Object value)
Multimaptrue if this multimap contains at least one key-value pair
 with the key key and the value value.containsEntry in interface Multimap<K,V>public boolean equals(@Nullable Object object)
MultimapMultimap.asMap(),
 are also equal.
 In general, two multimaps with identical key-value mappings may or may
 not be equal, depending on the implementation. For example, two
 SetMultimap instances with the same key-value mappings are equal,
 but equality of two ListMultimap instances depends on the ordering
 of the values for each key.
 
A non-empty SetMultimap cannot be equal to a non-empty
 ListMultimap, since their Multimap.asMap() views contain unequal
 collections as values. However, any two empty multimaps are equal, because
 they both have empty Multimap.asMap() views.
public int hashCode()
The hash code of a multimap is defined as the hash code of the map view,
 as returned by Multimap.asMap().
hashCode in interface Multimap<K,V>hashCode in class ObjectMap.hashCode()public String toString()
toString on the map returned by Multimap.asMap().Copyright © 2010–2017. All rights reserved.