Package org.jboss.weld.util.collections
Class SetMultimap<K,V>
java.lang.Object
org.jboss.weld.util.collections.SetMultimap<K,V>
- Type Parameters:
K- The key typeV- The value type
- All Implemented Interfaces:
Serializable,Multimap<K,V>
- Author:
- Martin Kouba
- See Also:
-
Field Summary
Fields -
Method Summary
Modifier and TypeMethodDescriptionvoidclear()Removes all of the mappings.booleancontainsKey(Object key) Set<Map.Entry<K,Collection<V>>> entrySet()Map.Entry.getValue()always returns an unmodifiable collection.This method never returns null.booleanisEmpty()keySet()static <K,V> SetMultimap<K, V> Creates a new instance backed by aConcurrentHashMapand synchronizedHashSet.static <K,V> SetMultimap<K, V> newConcurrentSetMultimap(Supplier<Set<V>> valueSupplier) Creates a new instance backed by aConcurrentHashMapand synchronizedHashSet.static <K,V> SetMultimap<K, V> static <K,V> SetMultimap<K, V> newSetMultimap(Multimap<K, V> multimap) booleanbooleanputAll(K key, Collection<? extends V> values) replaceValues(K key, Iterable<? extends V> values) Note that the original collection of values is completely replaced by a new collection which contains all elements from the given iterable.intsize()Unlike Guava'sMultimap#size()this method returns the number of key-value mappings.toString()values()The list may include the same value multiple times if it occurs in multiple mappings or if the collection of values for the mapping allows duplicate elements.
-
Field Details
-
supplier
-
-
Method Details
-
newSetMultimap
-
newSetMultimap
Creates a new instance backed by aHashMapandHashSet. All key-value mappings are copied from the input multimap. If any collection of values in the input multimap contains duplicate elements, these are removed in the constructed multimap.- Parameters:
multimap-
-
newConcurrentSetMultimap
Creates a new instance backed by aConcurrentHashMapand synchronizedHashSet. -
newConcurrentSetMultimap
Creates a new instance backed by aConcurrentHashMapand synchronizedHashSet. -
size
public int size()Description copied from interface:MultimapUnlike Guava'sMultimap#size()this method returns the number of key-value mappings. -
isEmpty
public boolean isEmpty() -
get
Description copied from interface:MultimapThis method never returns null. If no collection of values for a given key exists a new value collection is initialized. -
put
-
putAll
-
replaceValues
Description copied from interface:MultimapNote that the original collection of values is completely replaced by a new collection which contains all elements from the given iterable. If the collection of values doesn't allow duplicates, these elements are removed.- Specified by:
replaceValuesin interfaceMultimap<K,V> - Returns:
- the collection of replaced values
-
containsKey
- Specified by:
containsKeyin interfaceMultimap<K,V> - Returns:
trueif the multimap contains a mapping for the given key
-
keySet
-
values
Description copied from interface:MultimapThe list may include the same value multiple times if it occurs in multiple mappings or if the collection of values for the mapping allows duplicate elements. -
uniqueValues
- Specified by:
uniqueValuesin interfaceMultimap<K,V> - Returns:
- an immutable set of all the values in the multimap
-
entrySet
Description copied from interface:MultimapMap.Entry.getValue()always returns an unmodifiable collection.Map.Entry.setValue(Object)operation is not supported. -
clear
public void clear()Description copied from interface:MultimapRemoves all of the mappings. -
toString
-