Map inside map in java
这个实例化有什么问题:
-
(您可能需要考虑使用Map而不是HashMap:Map> map = new HashMap>();来声明它。此外,您可能还想引入一个表示复合键的对象,因此您只需要一个映射。)
Map是从类型K的键到类型V的值的映射。地图只有2个类型参数。
您试图使用3个类型参数定义地图;这是不可能的,与你在Map中放置Map的事实无关。
Map>工作得很好。
A Map没有。
您可能需要像Map< Pair, Map >这样的东西。 Java没有通用的Pair类型,但请参阅下面的相关问题以获取解决方案。
相关问题
对/元组:
-
Java中的C ++ Pair相当于什么?
-
存储在HashMap中的Java泛型Pair未正确检索key->值
-
价值对的Java集合? (元组?)
-
Java需要元组吗?
-
如何从Java方法返回多个对象?
在嵌套地图上:
-
Java:Spring框架:声明嵌套映射
-
Java:如何在spring框架中声明嵌套映射?
-
地图数据结构地图
-
我正在尝试创建创建XML元素的方法,其中元素名称和值在一个hashmap中,其他hashmap中的那些属性的属性和值,你认为这是一个好主意,或者将4个arraylists传递给每个方法仅包含elem名称,值,属性,属性值
-
但我想问题是hashmap不允许重复,其中重复项可以是具有不同值或属性的节点名称
-
@London:确切地说,任何Map只能将一个键映射到一个值。相同的值可以由几个键映射,即它是多对一关系,而不是一对多关系,而不是一对一关系。您可以定义Map>来模拟将键映射到多个值(或者更好的是,使用Guava的Multimap),但我仍然不确定您正在做什么来实际提供任何建议。你可能想问另一个问题,你明确指出你正在做什么。
-
实际上有一个通用的对实现,虽然它不是那么受欢迎。请参阅SimpleEntry(download.oracle.com/docs/cd/E17409_01/javase/6/docs/api/java/…)。自从我发现它以后我的生活发生了变
-
@Eyal Schneider在Java中有针对泛型Pair类的OOD参数。看到这篇好文章:stackoverflow.com/questions/156275/…
-
@Paul Jackson:我同意OOD的观点。实际上我提到的类可以用作泛型对,但它具有更具体的语义:键值关系。所以我同意不应该使用它,除非这是实际的关系。
Map接口(以及HashMap类)只需要2个泛型类型参数:一个用于键类型,另一个用于值类型。你提供3 ...
地图只有2个类型参数,你有3个(在你的"外部"地图中)。
如果你希望你能使用这种东西
该对象可以是包含两个字符串的Class的对象。
希望这能解决你的问题。
Xyz的对象可以用作上述地图中的关键字。