Package aQute.lib.collections
Class MultiMap<K,V>
- java.lang.Object
-
- aQute.lib.collections.MultiMap<K,V>
-
- All Implemented Interfaces:
java.util.Map<K,java.util.List<V>>
public class MultiMap<K,V> extends java.lang.Object implements java.util.Map<K,java.util.List<V>>
-
-
Constructor Summary
Constructors Constructor Description MultiMap()
MultiMap(boolean noduplicates)
MultiMap(MultiMap<S,T> other)
MultiMap(java.lang.Class<? extends K> keyClass, java.lang.Class<? extends V> valueClass, boolean noduplicates)
MultiMap(java.util.Map<? extends K,? extends java.util.Collection<? extends V>> other)
-
Method Summary
All Methods Static Methods Instance Methods Concrete Methods Modifier and Type Method Description boolean
add(K key, V value)
boolean
addAll(java.util.Map<? extends K,? extends java.util.Collection<? extends V>> other)
boolean
addAll(K key, java.util.Collection<? extends V> value)
java.util.Iterator<V>
all()
java.util.List<V>
allValues()
Return a collection with all valuesvoid
clear()
java.util.List<V>
compute(K key, java.util.function.BiFunction<? super K,? super java.util.List<V>,? extends java.util.List<V>> remappingFunction)
java.util.List<V>
computeIfAbsent(K key, java.util.function.Function<? super K,? extends java.util.List<V>> mappingFunction)
java.util.List<V>
computeIfPresent(K key, java.util.function.BiFunction<? super K,? super java.util.List<V>,? extends java.util.List<V>> remappingFunction)
boolean
containsKey(java.lang.Object key)
boolean
containsValue(java.lang.Object value)
java.util.Set<java.util.Map.Entry<K,java.util.List<V>>>
entrySet()
boolean
equals(java.lang.Object obj)
java.util.Map<K,V>
flatten()
void
forEach(java.util.function.BiConsumer<? super K,? super java.util.List<V>> action)
static <T extends java.lang.Comparable<? super T>>
java.lang.Stringformat(java.util.Map<T,? extends java.util.Collection<?>> map)
java.util.List<V>
get(java.lang.Object key)
java.util.List<V>
getOrDefault(java.lang.Object key, java.util.List<V> defaultValue)
MultiMap<K,V>
groupBy(java.util.Collection<? extends V> collection, java.util.function.Function<? super V,? extends K> classifier)
Index a collection.int
hashCode()
boolean
isEmpty()
java.util.Iterator<V>
iterate(K key)
java.util.Set<K>
keySet()
java.util.List<V>
merge(K key, java.util.List<V> value, java.util.function.BiFunction<? super java.util.List<V>,? super java.util.List<V>,? extends java.util.List<V>> remappingFunction)
java.util.List<V>
put(K key, java.util.List<V> value)
void
putAll(java.util.Map<? extends K,? extends java.util.List<V>> m)
java.util.List<V>
putIfAbsent(K key, java.util.List<V> value)
java.util.List<V>
remove(java.lang.Object key)
boolean
remove(java.lang.Object key, java.lang.Object value)
boolean
removeAll(K key, java.util.Collection<? extends V> value)
boolean
removeValue(K key, V value)
java.util.List<V>
replace(K key, java.util.List<V> value)
boolean
replace(K key, java.util.List<V> oldValue, java.util.List<V> newValue)
void
replaceAll(java.util.function.BiFunction<? super K,? super java.util.List<V>,? extends java.util.List<V>> function)
int
size()
java.lang.String
toString()
MultiMap<V,K>
transpose()
MultiMap<V,K>
transpose(boolean noduplicates)
java.util.Collection<java.util.List<V>>
values()
-
-
-
Constructor Detail
-
MultiMap
public MultiMap()
-
MultiMap
public MultiMap(boolean noduplicates)
-
MultiMap
public MultiMap(java.lang.Class<? extends K> keyClass, java.lang.Class<? extends V> valueClass, boolean noduplicates)
-
MultiMap
public MultiMap(java.util.Map<? extends K,? extends java.util.Collection<? extends V>> other)
-
MultiMap
public MultiMap(MultiMap<S,T> other)
-
-
Method Detail
-
addAll
public boolean addAll(java.util.Map<? extends K,? extends java.util.Collection<? extends V>> other)
-
all
public java.util.Iterator<V> all()
-
allValues
public java.util.List<V> allValues()
Return a collection with all values- Returns:
- all values
-
format
public static <T extends java.lang.Comparable<? super T>> java.lang.String format(java.util.Map<T,? extends java.util.Collection<?>> map)
-
containsKey
public boolean containsKey(java.lang.Object key)
-
containsValue
public boolean containsValue(java.lang.Object value)
-
get
public java.util.List<V> get(java.lang.Object key)
-
remove
public java.util.List<V> remove(java.lang.Object key)
-
values
public java.util.Collection<java.util.List<V>> values()
-
getOrDefault
public java.util.List<V> getOrDefault(java.lang.Object key, java.util.List<V> defaultValue)
-
forEach
public void forEach(java.util.function.BiConsumer<? super K,? super java.util.List<V>> action)
-
replaceAll
public void replaceAll(java.util.function.BiFunction<? super K,? super java.util.List<V>,? extends java.util.List<V>> function)
-
remove
public boolean remove(java.lang.Object key, java.lang.Object value)
-
computeIfAbsent
public java.util.List<V> computeIfAbsent(K key, java.util.function.Function<? super K,? extends java.util.List<V>> mappingFunction)
-
computeIfPresent
public java.util.List<V> computeIfPresent(K key, java.util.function.BiFunction<? super K,? super java.util.List<V>,? extends java.util.List<V>> remappingFunction)
-
compute
public java.util.List<V> compute(K key, java.util.function.BiFunction<? super K,? super java.util.List<V>,? extends java.util.List<V>> remappingFunction)
-
merge
public java.util.List<V> merge(K key, java.util.List<V> value, java.util.function.BiFunction<? super java.util.List<V>,? super java.util.List<V>,? extends java.util.List<V>> remappingFunction)
-
hashCode
public int hashCode()
-
equals
public boolean equals(java.lang.Object obj)
-
toString
public java.lang.String toString()
- Overrides:
toString
in classjava.lang.Object
-
groupBy
public MultiMap<K,V> groupBy(java.util.Collection<? extends V> collection, java.util.function.Function<? super V,? extends K> classifier)
Index a collection.- Parameters:
collection
- the collection to indexclassifier
- the function to map a value in the collection to the key- Returns:
- the current map
-
-