Наконец, я попытался реализовать гибридную структуру в 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. Наконец, я решил реализовать только интерфейс Set и добавить метод Map без реализации этого интерфейса.
Видите ли вы лучшее решение?
В ответ на первые комментарии вот моя цель:
Иметь структуру набора и иметь возможность эффективного доступа к подмножеству значений этого набора, соответствующих данному значению ключа.
Вначале я создал карту и набор, но попытался объединить две структуры для оптимизации производительности.