Java哈希,其键是枚举类型,值是K,V对的唯一列表

时间:2012-01-31 04:50:52

标签: java dictionary

我需要一个类似(C#表示)的java字典:

Dictionary<SomeEnumType, List<int, long>>

所以我想这样使用它:

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

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

根据int值,List应该是唯一的。

上面有什么java结构支持?

2 个答案:

答案 0 :(得分:3)

您可以使用以下内容:

HashMap<SomeEnumType, HashMap<Integer, Long>>

您不希望使用List,因为它存储单个项目,而您需要一组键值对或映射。 HashMap仅存储唯一键的对象。在这种情况下,内部HashMap将仅存储唯一的整数,而外部HashMap将仅存储唯一的枚举类型。您可以查看Map的不同可用实现,以了解哪一种最适合您的需求。

参考:http://docs.oracle.com/javase/7/docs/api/java/util/Map.html

答案 1 :(得分:1)

您需要java.util.Map(常见实施:TreeMapHashMap)。

Map是从一种对象类型到另一种对象类型的一对一映射 - 就像字典一样!