質問
Lastyうを実装してハイブリッド構造のJavaあるということは、次のように記述されています。
public class MapOfSet<K, V extends HasKey<K>> implements Set<V>, Map<K, Set<V>>
がHasKeyは、以下のインターフェース:
public interface HasKey<K> {
public K getKey();
}
残念ながら、紛争の間にmethos署名のセットインタフェースのMapインタフェースJava.私は最終的に選ばれたのはめ具のみのセットインタフェースおよび追加の方法地図せずにこのインタフェースを実装する
していると思いますぐに解決するのか
に応じてコメントを、ここが私の目標:
セット構造できる効率的アクセスのサブセット値の設定に対応して、与えられたキー値です。でいちばん最初にインスタンスを生成の地図セットにしてみましたが加わりの構造最適化します。
解決
あとだれかの追加の情報を操作する。かを作りたい設定を自動的に群の要素によるキーですよね?のある作業になりたいですか?どのように要素に追加されません。では要素の削除を取り除いてからグループ分けされます。私の提案するインターフェースのように:
public interface GroupedSet<K, V extends HasKey<K>> extends Set<V>{
Set<V> havingKey(K k);
}
したい場合に利用できるように設定してい地図を追加できる別の方法
Map<K,Set<V>> asMap();
を使用しない複数のインタフェースの継承によります。
他のヒント
あけましておめでとうございましようと達成? Map
既に公開、そのキーとして Set
を通じて[keySet()](http://java.sun.com/j2se/1.5.0/docs/api/java/util/Map.html#keySet()) 方法。したい場合には、信頼性のiteratior、あ LinkedHashMap や TreeMap.
更新:いることを確保するための値によってのみ挿入され、一度ウンターまでお問合わせください一つの授業っては、前述のとおりに仕上がっていると思う SingleEntryMap
とオーバーライドの実行 put(K key, V value)
い独自性をチェック例外をスローする場合は、既に挿入されます。
更新:まこんな感じです。(いっエディタは開いたままにして、このあたりをコンパイル)
public final class KeyedSets<K, V> implements Map<K,Set<V>> {
private final Map<K, Set<V>> internalMap = new TreeMap<K, Set<V>>;
// delegate methods go here
public Set<V> getSortedSuperset() {
final Set<V> superset = new TreeSet<V>();
for (final Map.Entry<K, V> entry : internalMap.entrySet()) {
superset.addAll(entry.getValue());
}
return superset;
}
}
というものなのであるガスクロマトグラフィによる地図、時として設定を実施する上で地図かと考えられる"なりすましのセットキーまたは値とのマッピングのキーと値です。そのことをまとめたものです。containsKey()。containsValue()メソッドを割り当てるべきなのです。