最後に、次のようなハイブリッド構造を Java で実装しようとしました。
public class MapOfSet<K, V extends HasKey<K>> implements Set<V>, Map<K, Set<V>>
HasKey は次のインターフェイスです。
public interface HasKey<K> {
public K getKey();
}
残念ながら、Java の Set インターフェイスと Map インターフェイスのメソッド シグネチャの間にはいくつかの競合があります。最終的に、Set インターフェイスのみを実装し、このインターフェイスを実装せずに Map メソッドを追加することにしました。
もっと良い解決策はありますか?
最初のコメントに応えて、ここに私の目標があります:
セット構造を持ち、特定のキー値に対応するこのセットの値のサブセットに効率的にアクセスできます。最初はマップとセットをインスタンス化しましたが、パフォーマンスを最適化するために 2 つの構造を結合しようとしました。