在java中的地图内部映射

时间:2010-07-14 21:41:50

标签: java

此实例化有什么问题:

Map<String, String, HashMap<String,String>> map = new HashMap<String, String, HashMap<String,String>>();

4 个答案:

答案 0 :(得分:21)

Map<K,V>是从K类型的键到类型V的值的映射。地图只有2个类型参数。

您试图定义一个包含3个类型参数的地图;这是不可能的,与您在Map内放置Map这一事实无关。

Map<K1,Map<K2,V2>>工作正常。

Map<X,Y,Z>没有。

您可能需要Map< Pair<L,R>, Map<K,V> >之类的内容。 Java没有通用的Pair<L,R>类型,但请参阅下面的相关问题以获得解决方案。

相关问题

对/元组:

在嵌套地图上:

答案 1 :(得分:5)

地图只有2个类型参数,你有3个(在你的“外部”地图中)。

答案 2 :(得分:5)

Map接口(以及HashMap类)只需要2个泛型类型参数:一个用于键类型,另一个用于值类型。你提供3 ...

答案 3 :(得分:1)

如果您希望可以使用此类产品

Map<Object,Map<String,String>>

此对象可以是包含两个字符串的Class的对象。 希望这能解决你的问题。

Class Xyz {
String s1;
String s2;
}

Xyz的一个对象可以在上面的地图中用作关键字。