MultiMap extends HashMap<String, List<V>> { public boolean containsSimpleValue(V value) { for (List<V> vals : values()) { if ((vals.size() == 1) && vals.contains(value)) { return true; } } return false; } MultiMap();  MultiMap(Map<String, List<V>> map);  MultiMap(MultiMap<V> map); List<V> getValues(String name); V getValue(String name, int i); String getString(String name); List<V> put(String name, V value); void putAllValues(Map<String, V> input); List<V> putValues(String name, List<V> values); @SafeVarargs final List<V> putValues(String name, V... values); void add(String name, V value); void addValues(String name, List<V> values); void addValues(String name, V[] values); boolean addAllValues(MultiMap<V> map); boolean removeValue(String name, V value); boolean containsSimpleValue(V value); @Override String toString(); Map<String, String[]> toStringArrayMap();  }
@Test void testContainsSimpleValue() { MultiMap<String> mm = new MultiMap<>(); mm.putValues("food", "apple", "cherry", "raspberry"); mm.put("color", "red"); mm.putValues("amount", "bushel", "pint"); assertTrue(mm.containsSimpleValue("red")); assertFalse(mm.containsValue("nutrition")); }