最后,我尝试在 Java 中实现混合结构,如下所示:
public class MapOfSet<K, V extends HasKey<K>> implements Set<V>, Map<K, Set<V>>
其中 HasKey 是如下接口:
public interface HasKey<K> {
public K getKey();
}
不幸的是,Set 接口的方法签名和 Java 中的 Map 接口之间存在一些冲突。我最终选择只实现 Set 接口并添加 Map 方法而不实现该接口。
你看到更好的解决方案了吗?
针对第一条评论,这是我的目标:
具有集合结构,并且能够有效地访问该集合的值的子集,对应于给定的键值。一开始我实例化了一个地图和一个集合,但我试图将这两个结构结合起来以优化性能。