diff --git a/src/main/java/org/arp/javautil/collections/Collections.java b/src/main/java/org/arp/javautil/collections/Collections.java
index <HASH>..<HASH> 100644
--- a/src/main/java/org/arp/javautil/collections/Collections.java
+++ b/src/main/java/org/arp/javautil/collections/Collections.java
@@ -1,6 +1,9 @@
 package org.arp.javautil.collections;
 
+import java.util.ArrayList;
 import java.util.Collection;
+import java.util.List;
+import java.util.Map;
 
 /**
  * Extra utilities for collections.
@@ -33,4 +36,22 @@ public class Collections {
 			return Iterators.join(c.iterator(), separator);
 		}
 	}
+
+    /**
+     * Puts a value into a map of key -> list of values. If the specified key
+     * is new, it creates an {@link ArrayList} as its value.
+     * @param map a {@link Map}.
+     * @param key a key.
+     * @param valueElt a value.
+     */
+    public static <K, V> void putList(Map<K, List<V>> map, K key, V valueElt) {
+        if (map.containsKey(key)) {
+            List<V> l = map.get(key);
+            l.add(valueElt);
+        } else {
+            List<V> l = new ArrayList<V>();
+            l.add(valueElt);
+            map.put(key, l);
+        }
+    }
 }
Added Collections.putList to simplify putting new values into maps to lists.