Java-хэш, ключом которого является тип enum, а значения - это уникальный список пар K, V - PullRequest
0 голосов
/ 31 января 2012

Мне нужен словарь Java, который был бы похож (представление C #):

Dictionary<SomeEnumType, List<int, long>>

Итак, я хочу использовать это так:

List<int, long> v1 = myDic[SomeEnumType.Value1];

foreach(int i in v1)
{
    long l1 = v1[i];
}

И список должен быть уникальным в зависимости от значения int.

Какая структура Java поддерживает выше?

Ответы [ 2 ]

3 голосов
/ 31 января 2012

Вы бы использовали что-то вроде этого:

HashMap<SomeEnumType, HashMap<Integer, Long>>

Вы не захотите использовать List, потому что он хранит отдельные элементы, тогда как вам нужен набор пар ключ-значение или сопоставления. A HashMap будет хранить объекты только для уникальных ключей. В этом случае внутренний HashMap будет хранить только уникальные целые числа, а внешний HashMap будет хранить только уникальные типы Enum. Вы можете посмотреть на различные доступные реализации Map, чтобы увидеть, какая из них лучше всего соответствует вашим потребностям.

Ссылка: http://docs.oracle.com/javase/7/docs/api/java/util/Map.html

1 голос
/ 31 января 2012

Требуется java.util.Map (общие реализации: TreeMap и HashMap).

A Map - это взаимно-однозначное сопоставление одного типа объекта другому - как словарь!

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...