Package com.aspectran.core.util
Class LinkedMultiValueMap<K,V>
- java.lang.Object
-
- com.aspectran.core.util.LinkedMultiValueMap<K,V>
-
- Type Parameters:
K- the key typeV- the value element type
- All Implemented Interfaces:
MultiValueMap<K,V>,java.io.Serializable,java.lang.Cloneable,java.util.Map<K,java.util.List<V>>
public class LinkedMultiValueMap<K,V> extends java.lang.Object implements MultiValueMap<K,V>, java.io.Serializable, java.lang.Cloneable
This class is a clone of org.springframework.util.LinkedMultiValueMap
Simple implementation ofMultiValueMapthat wraps aLinkedHashMap, storing multiple values in aLinkedList.This Map implementation is generally not thread-safe. It is primarily designed for data structures exposed from request objects, for use in a single thread only.
- See Also:
- Serialized Form
-
-
Constructor Summary
Constructors Constructor Description LinkedMultiValueMap()Create a new LinkedMultiValueMap that wraps aLinkedHashMap.LinkedMultiValueMap(int initialCapacity)Create a new LinkedMultiValueMap that wraps aLinkedHashMapwith the given initial capacity.LinkedMultiValueMap(java.util.Map<K,java.util.List<V>> otherMap)Copy constructor: Create a new LinkedMultiValueMap with the same mappings as the specified Map.
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description voidadd(K key, V value)Add the given single value to the current list of values for the given key.voidaddAll(MultiValueMap<K,V> values)Add all the values of the givenMultiValueMapto the current values.voidaddAll(K key, java.util.List<? extends V> values)Add all the values of the given list to the current list of values for the given key.voidclear()LinkedMultiValueMap<K,V>clone()Create a regular copy of this Map.booleancontainsKey(java.lang.Object key)booleancontainsValue(java.lang.Object value)LinkedMultiValueMap<K,V>deepCopy()Create a deep copy of this Map.java.util.Set<java.util.Map.Entry<K,java.util.List<V>>>entrySet()booleanequals(java.lang.Object obj)java.util.List<V>get(java.lang.Object key)VgetFirst(K key)Return the first value for the given key.inthashCode()booleanisEmpty()java.util.Set<K>keySet()java.util.List<V>put(K key, java.util.List<V> value)voidputAll(java.util.Map<? extends K,? extends java.util.List<V>> map)java.util.List<V>remove(java.lang.Object key)voidset(K key, V value)Set the given single value under the given key.voidset(K key, V[] values)Set the given values under the given key.voidsetAll(java.util.Map<K,V> values)Set the given values under.intsize()java.util.Map<K,V>toSingleValueMap()Return aMapwith the first values contained in thisMultiValueMap.java.lang.StringtoString()java.util.Collection<java.util.List<V>>values()-
Methods inherited from class java.lang.Object
finalize, getClass, notify, notifyAll, wait, wait, wait
-
Methods inherited from interface java.util.Map
compute, computeIfAbsent, computeIfPresent, forEach, getOrDefault, merge, putIfAbsent, remove, replace, replace, replaceAll
-
Methods inherited from interface com.aspectran.core.util.MultiValueMap
addIfAbsent
-
-
-
-
Constructor Detail
-
LinkedMultiValueMap
public LinkedMultiValueMap()
Create a new LinkedMultiValueMap that wraps aLinkedHashMap.
-
LinkedMultiValueMap
public LinkedMultiValueMap(int initialCapacity)
Create a new LinkedMultiValueMap that wraps aLinkedHashMapwith the given initial capacity.- Parameters:
initialCapacity- the initial capacity
-
LinkedMultiValueMap
public LinkedMultiValueMap(java.util.Map<K,java.util.List<V>> otherMap)
Copy constructor: Create a new LinkedMultiValueMap with the same mappings as the specified Map. Note that this will be a shallow copy; its value-holding List entries will get reused and therefore cannot get modified independently.- Parameters:
otherMap- the Map whose mappings are to be placed in this Map- See Also:
clone(),deepCopy()
-
-
Method Detail
-
getFirst
@Nullable public V getFirst(K key)
Description copied from interface:MultiValueMapReturn the first value for the given key.- Specified by:
getFirstin interfaceMultiValueMap<K,V>- Parameters:
key- the key- Returns:
- the first value for the specified key, or
null
-
add
public void add(K key, @Nullable V value)
Description copied from interface:MultiValueMapAdd the given single value to the current list of values for the given key.- Specified by:
addin interfaceMultiValueMap<K,V>- Parameters:
key- the keyvalue- the value to be added
-
addAll
public void addAll(K key, java.util.List<? extends V> values)
Description copied from interface:MultiValueMapAdd all the values of the given list to the current list of values for the given key.- Specified by:
addAllin interfaceMultiValueMap<K,V>- Parameters:
key- they keyvalues- the values to be added
-
addAll
public void addAll(MultiValueMap<K,V> values)
Description copied from interface:MultiValueMapAdd all the values of the givenMultiValueMapto the current values.- Specified by:
addAllin interfaceMultiValueMap<K,V>- Parameters:
values- the values to be added
-
set
public void set(K key, @Nullable V value)
Description copied from interface:MultiValueMapSet the given single value under the given key.- Specified by:
setin interfaceMultiValueMap<K,V>- Parameters:
key- the keyvalue- the value to set
-
set
public void set(K key, V[] values)
Description copied from interface:MultiValueMapSet the given values under the given key.- Specified by:
setin interfaceMultiValueMap<K,V>- Parameters:
key- the keyvalues- the values
-
setAll
public void setAll(java.util.Map<K,V> values)
Description copied from interface:MultiValueMapSet the given values under.- Specified by:
setAllin interfaceMultiValueMap<K,V>- Parameters:
values- the values
-
toSingleValueMap
public java.util.Map<K,V> toSingleValueMap()
Description copied from interface:MultiValueMapReturn aMapwith the first values contained in thisMultiValueMap.- Specified by:
toSingleValueMapin interfaceMultiValueMap<K,V>- Returns:
- a single value representation of this map
-
containsKey
public boolean containsKey(java.lang.Object key)
-
containsValue
public boolean containsValue(java.lang.Object value)
-
deepCopy
public LinkedMultiValueMap<K,V> deepCopy()
Create a deep copy of this Map.- Returns:
- a copy of this Map, including a copy of each value-holding List entry
(consistently using an independent modifiable
LinkedListfor each entry) along the lines ofMultiValueMap.addAllsemantics - See Also:
addAll(MultiValueMap),clone()
-
clone
public LinkedMultiValueMap<K,V> clone()
Create a regular copy of this Map.- Overrides:
clonein classjava.lang.Object- Returns:
- a shallow copy of this Map, reusing this Map's value-holding List entries
(even if some entries are shared or unmodifiable) along the lines of standard
Map.putsemantics - See Also:
put(Object, List),putAll(Map),LinkedMultiValueMap(Map),deepCopy()
-
equals
public boolean equals(@Nullable java.lang.Object obj)
-
hashCode
public int hashCode()
-
toString
public java.lang.String toString()
- Overrides:
toStringin classjava.lang.Object
-
-