【发布时间】:2012-11-23 11:37:04
【问题描述】:
我有一个 HashMap,键是某个类的对象,值是另一个 HashMap,键是字符串,值是双精度:
HashMap<MyClass, HashMap<String, Double>> myHashMap;
我需要一个循环来向这个 HashMap 添加键(对象)和值(HashMap),但我不能在循环中创建一个新的 HashMap 变量作为它的“值”。本质上,每个 MyClass 对象都必须有对应的双精度字符串。
这可能吗?这有什么意义吗??
【问题讨论】:
-
是的,这是可能的,但请告诉我们您的尝试。
-
等等,你说你的 HashMap 有
String作为键,但你使用的是Object。如果你有String和对应的Double对应一个Object,那么你为什么不创建一个HashMap<String, List<YourClass>>? -
抱歉,Key确实是自定义类的Object
-
@Frisky.. 那么您的数据结构可能构建错误。您应该将
String作为key、List<YourClassObject>作为值。我会发布一个答案。 -
如果您可以使用第三方库,您可能会发现 Guava 的
Table比嵌套地图更合适。 (披露:我为 Guava 做出了贡献。)