/*
* Copyright (C) 2010 Medo <smaxein@googlemail.com>
*
* This file is part of GmkSplitter.
* GmkSplitter is free software and comes with ABSOLUTELY NO WARRANTY.
* See LICENSE for details.
*/
package com.ganggarrison.gmdec.dupes;
import java.util.ArrayList;
import java.util.Collections;
import java.util.Iterator;
import java.util.List;
import java.util.Map;
import java.util.Map.Entry;
import java.util.TreeMap;
public class TreeMultiMap<K extends Comparable<K>, V> implements Iterable<Map.Entry<K, List<V>>> {
private Map<K, List<V>> multiMap = new TreeMap<K, List<V>>();
public void add(K key, V value) {
if (!multiMap.containsKey(key)) {
multiMap.put(key, new ArrayList<V>());
}
multiMap.get(key).add(value);
}
public List<V> get(K key) {
if (!multiMap.containsKey(key)) {
return Collections.emptyList();
} else {
return Collections.unmodifiableList(multiMap.get(key));
}
}
@Override
public Iterator<Entry<K, List<V>>> iterator() {
return Collections.unmodifiableMap(multiMap).entrySet().iterator();
}
}