Add addAll(MultiValueMap)

This commit introduces a new method for MultiValueMap: addAll, which
adds all values of a given map (cf putAll, which replaces existing
values).
This commit is contained in:
Arjen Poutsma
2017-06-12 14:12:12 +02:00
parent 7085a30382
commit 9bf82dc18f
5 changed files with 35 additions and 0 deletions

View File

@@ -422,6 +422,13 @@ public abstract class CollectionUtils {
currentValues.addAll(values);
}
@Override
public void addAll(MultiValueMap<K, V> values) {
for (Entry<K, List<V>> entry : values.entrySet()) {
addAll(entry.getKey(), entry.getValue());
}
}
@Override
public void set(K key, V value) {
List<V> values = new LinkedList<>();

View File

@@ -93,6 +93,13 @@ public class LinkedMultiValueMap<K, V> implements MultiValueMap<K, V>, Serializa
currentValues.addAll(values);
}
@Override
public void addAll(MultiValueMap<K, V> values) {
for (Entry<K, List<V>> entry : values.entrySet()) {
addAll(entry.getKey(), entry.getValue());
}
}
@Override
public void set(K key, V value) {
List<V> values = new LinkedList<>();

View File

@@ -52,6 +52,13 @@ public interface MultiValueMap<K, V> extends Map<K, List<V>> {
*/
void addAll(K key, List<? extends V> values);
/**
* Add all the values of the given {@code MultiValueMap} to the current values.
* @param values the values to be added
* @since 5.0
*/
void addAll(MultiValueMap<K, V> values);
/**
* Set the given single value under the given key.
* @param key the key