summaryrefslogtreecommitdiffstats
path: root/vespajlib/src
diff options
context:
space:
mode:
Diffstat (limited to 'vespajlib/src')
-rw-r--r--vespajlib/src/main/java/com/yahoo/collections/ListMap.java12
1 files changed, 12 insertions, 0 deletions
diff --git a/vespajlib/src/main/java/com/yahoo/collections/ListMap.java b/vespajlib/src/main/java/com/yahoo/collections/ListMap.java
index 052ea55d6fe..479850beb1a 100644
--- a/vespajlib/src/main/java/com/yahoo/collections/ListMap.java
+++ b/vespajlib/src/main/java/com/yahoo/collections/ListMap.java
@@ -60,6 +60,18 @@ public class ListMap<K, V> {
}
}
+ /** Put this map in the state where it has just the given value of the given key */
+ public void replace(K key, V value) {
+ List<V> list = map.get(key);
+ if (list == null) {
+ put(key);
+ }
+ else {
+ list.clear();
+ list.add(value);
+ }
+ }
+
public void removeAll(K key) {
map.remove(key);
}