import java.util.ArrayList; import java.util.Comparator; import java.util.HashMap; import java.util.Iterator; import java.util.List; import java.util.Map; import java.util.noSuchElementException; import java.util.TreeMap; public class ValueSortedMap<K, V> implements Iterable<K> { Map<K, V> map = new HashMap<K, V>(); Map<V, List<K>> reverseMap; public ValueSortedMap() { reverseMap = new TreeMap<V, List<K>>(); } public ValueSortedMap(Comparator<? super V> c) { reverseMap = new TreeMap<V, List<K>>(c); } public V put(K key, V value) { if ( ) { throw new NullPointerException(); } V old = remove(key); map.put(key, value); List<K> keys = reverseMap.get(value); if ( ) { keys = new ArrayList<K>(); reverseMap.put(value, keys); } keys.add(key); return old; }
質問です
このプログラム内のpublic V put(K,V)はマップインタフェースに用意されているputメソッドをオーバーライドしているのでしょうか?
回答2件
あなたの回答
tips
プレビュー
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
2017/10/16 17:22