|
||||||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES | |||||||||
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |
java.lang.Object javax.ws.rs.core.MultivaluedHashMap<K,V>
K
- the type of keys maintained by this mapV
- the type of mapped valuespublic class MultivaluedHashMap<K,V>
A hash table based implementation of MultivaluedMap
interface.
This implementation provides all of the optional map operations. This class
makes no guarantees as to the order of the map; in particular, it does not
guarantee that the order will remain constant over time. The implementation
permits null
key. By default the implementation does also permit
null
values, but ignores them. This behavior can be customized
by overriding the protected addNull(...)
and
addFirstNull(...)
methods.
ConcurrentModificationException
.
Thus, in the face of concurrent modification, the iterator fails quickly and
cleanly, rather than risking arbitrary, non-deterministic behavior at an
undetermined time in the future.
Note that the fail-fast behavior of an iterator cannot be guaranteed
as it is, generally speaking, impossible to make any hard guarantees in the
presence of unsynchronized concurrent modification. Fail-fast iterators
throw ConcurrentModificationException on a best-effort basis.
Therefore, it would be wrong to write a program that depended on this
exception for its correctness: the fail-fast behavior of iterators
should be used only to detect bugs.
Nested Class Summary |
---|
Nested classes/interfaces inherited from interface java.util.Map |
---|
java.util.Map.Entry<K,V> |
Constructor Summary | |
---|---|
MultivaluedHashMap()
Constructs an empty multivalued hash map with the default initial capacity ( 16 ) and the default load factor (0.75 ). |
|
MultivaluedHashMap(int initialCapacity)
Constructs an empty multivalued hash map with the specified initial capacity and the default load factor ( 0.75 ). |
|
MultivaluedHashMap(int initialCapacity,
float loadFactor)
Constructs an empty multivalued hash map with the specified initial capacity and load factor. |
|
MultivaluedHashMap(java.util.Map<? extends K,? extends V> map)
Constructs a new multivalued hash map with the same mappings as the specified single-valued Map . |
|
MultivaluedHashMap(MultivaluedMap<? extends K,? extends V> map)
Constructs a new multivalued hash map with the same mappings as the specified MultivaluedMap . |
Method Summary | |
---|---|
void |
add(K key,
V value)
Add a value to the current list of values for the supplied key. |
void |
addAll(K key,
java.util.List<V> valueList)
Add all the values from the supplied value list to the current list of values for the supplied key. |
void |
addAll(K key,
V... newValues)
Add multiple values to the current list of values for the supplied key. |
void |
addFirst(K key,
V value)
Add a value to the first position in the current list of values for the supplied key. |
protected void |
addFirstNull(java.util.List<V> values)
Define the behavior for adding a null values to the first position
in the value list. |
protected void |
addNull(java.util.List<V> values)
Define the behavior for adding a null values to the value list. |
void |
clear()
|
java.lang.Object |
clone()
|
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 o)
|
java.util.List<V> |
get(java.lang.Object key)
|
V |
getFirst(K key)
A shortcut to get the first value of the supplied key. |
protected java.util.List<V> |
getValues(K key)
Return a non-null list of values for a given key. |
int |
hashCode()
|
boolean |
isEmpty()
|
java.util.Set<K> |
keySet()
|
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)
|
void |
putSingle(K key,
V value)
Set the value for the key to be a one item list consisting of the supplied value. |
java.util.List<V> |
remove(java.lang.Object key)
|
int |
size()
|
java.lang.String |
toString()
|
java.util.Collection<java.util.List<V>> |
values()
|
Methods inherited from class java.lang.Object |
---|
finalize, getClass, notify, notifyAll, wait, wait, wait |
Constructor Detail |
---|
public MultivaluedHashMap()
16
) and the default load factor (0.75
).
public MultivaluedHashMap(int initialCapacity)
0.75
).
initialCapacity
- the initial capacity.
java.lang.IllegalArgumentException
- if the initial capacity is negative.public MultivaluedHashMap(int initialCapacity, float loadFactor)
initialCapacity
- the initial capacityloadFactor
- the load factor
java.lang.IllegalArgumentException
- if the initial capacity is negative
or the load factor is nonpositivepublic MultivaluedHashMap(MultivaluedMap<? extends K,? extends V> map)
MultivaluedMap
. The List
instances holding
the values of each key are created anew instead of being reused.
map
- the multivalued map whose mappings are to be placed in this
multivalued map.
java.lang.NullPointerException
- if the specified map is null
public MultivaluedHashMap(java.util.Map<? extends K,? extends V> map)
Map
.
map
- the single-valued map whose mappings are to be placed in this
multivalued map.
java.lang.NullPointerException
- if the specified map is null
Method Detail |
---|
public final void putSingle(K key, V value)
null
values; A supplied value
of null
is ignored and not added to the purged value list.
As a result of such operation, empty value list would be registered for
the supplied key. Overriding implementations may modify this behavior by
redefining the addNull(java.util.List)
method.
putSingle
in interface MultivaluedMap<K,V>
key
- the keyvalue
- the single value of the key. If the value is null
it
will be ignored.protected void addNull(java.util.List<V> values)
null
values to the value list.
Default implementation is a no-op, i.e. the null
values are ignored.
Overriding implementations may modify this behavior by providing their
own definitions of this method.
values
- value list where the null
value addition is being
requested.protected void addFirstNull(java.util.List<V> values)
null
values to the first position
in the value list.
Default implementation is a no-op, i.e. the null
values are ignored.
Overriding implementations may modify this behavior by providing their
own definitions of this method.
values
- value list where the null
value addition is being
requested.public final void add(K key, V value)
MultivaluedMap
add
in interface MultivaluedMap<K,V>
key
- the keyvalue
- the value to be added.public final void addAll(K key, V... newValues)
NullPointerException
if the supplied array of values
is null
.
NOTE: This implementation ignores null
values; Any of the supplied values
of null
is ignored and not added to the value list. Overriding
implementations may modify this behavior by redefining the
addNull(java.util.List)
method.
key
- the key.newValues
- the values to be added.
java.lang.NullPointerException
- if the supplied array of new values is null
.public final void addAll(K key, java.util.List<V> valueList)
NullPointerException
if the
supplied array of values is null
.
NOTE: This implementation ignores null
values; Any null
value
in the supplied value list is ignored and not added to the value list. Overriding
implementations may modify this behavior by redefining the
addNull(java.util.List)
method.
key
- the key.valueList
- the list of values to be added.
java.lang.NullPointerException
- if the supplied value list is null
.public final V getFirst(K key)
MultivaluedMap
getFirst
in interface MultivaluedMap<K,V>
key
- the key
public final void addFirst(K key, V value)
null
values; A supplied value
of null
is ignored and not added to the purged value list. Overriding
implementations may modify this behavior by redefining the
addFirstNull(java.util.List)
method.
key
- the keyvalue
- the value to be added.protected final java.util.List<V> getValues(K key)
List
instance is created, registered within the map to hold the values of
the key and returned from the method.
key
- the key.
null
.public java.lang.String toString()
toString
in class java.lang.Object
public int hashCode()
hashCode
in interface java.util.Map<K,java.util.List<V>>
hashCode
in class java.lang.Object
public boolean equals(java.lang.Object o)
equals
in interface java.util.Map<K,java.util.List<V>>
equals
in class java.lang.Object
public java.util.Collection<java.util.List<V>> values()
values
in interface java.util.Map<K,java.util.List<V>>
public int size()
size
in interface java.util.Map<K,java.util.List<V>>
public java.util.List<V> remove(java.lang.Object key)
remove
in interface java.util.Map<K,java.util.List<V>>
public void putAll(java.util.Map<? extends K,? extends java.util.List<V>> m)
putAll
in interface java.util.Map<K,java.util.List<V>>
public java.util.List<V> put(K key, java.util.List<V> value)
put
in interface java.util.Map<K,java.util.List<V>>
public java.util.Set<K> keySet()
keySet
in interface java.util.Map<K,java.util.List<V>>
public boolean isEmpty()
isEmpty
in interface java.util.Map<K,java.util.List<V>>
public java.util.List<V> get(java.lang.Object key)
get
in interface java.util.Map<K,java.util.List<V>>
public java.util.Set<java.util.Map.Entry<K,java.util.List<V>>> entrySet()
entrySet
in interface java.util.Map<K,java.util.List<V>>
public boolean containsValue(java.lang.Object value)
containsValue
in interface java.util.Map<K,java.util.List<V>>
public boolean containsKey(java.lang.Object key)
containsKey
in interface java.util.Map<K,java.util.List<V>>
public java.lang.Object clone()
clone
in class java.lang.Object
public void clear()
clear
in interface java.util.Map<K,java.util.List<V>>
|
||||||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES | |||||||||
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |