package exercise08; import java.util.*; public class MultiMap { private Map> data = new HashMap<>(); public void put(K key, V value) { List curr = data.get(key); if (curr == null) { data.put(key, new ArrayList<>(Arrays.asList(value))); } else if (!curr.contains(value)) { curr.add(value); } } public void remove(K key, V value) { List curr = data.get(key); if (curr == null) return; curr.remove(value); } public void removeAll(K key) { data.remove(key); } public boolean contains(K key, V value) { List res = data.get(key); return !(res == null) && res.contains(value); } }