2

这是我所拥有的:

HashMap<String,HashMap<Integer,Integer>> data =
            new HashMap<String,HashMap<Integer,Integer>>();

但是我无法为此添加值,因为内部哈希图没有名称(注意:它不应该)。我实际上是在尝试将数组列表添加到 HashMap 中的第一个 Integer 所以我正在尝试类似:

data.put(var, data.get(array.get(x), y));

它非常不喜欢它,我完全不知道该怎么做。

4

4 回答 4

5

注意

HashMap<String,HashMap<Integer,Integer>> data =
            new HashMap<String,HashMap<Integer,Integer>>();

仅创建“外部” HashMap 实例。在此语句之后,您有一个空的 HashMap,它将字符串作为键和HashMap<Integer, Integer>值。

HashMap<Integer, Integer>您可以使用以下方法添加to的实例data

data.put("myKey", new HashMap<Integer, Integer>());

之后,您可以将整数值添加到第二个 HashMap:

data.get("myKey").put(123, 456); // use 123 as key and 456 as value

取回值:

data.get("myKey").get(123); // returns 456
于 2013-03-24T17:56:14.350 回答
1

您必须首先获取内部哈希映射:

HashMap<Integer,Integer> innerData = data.get(var);

然后你可以把你的价值放进去:

innerData.put(x, y);
于 2013-03-24T18:00:31.897 回答
0
HashMap<String,HashMap<Integer,Integer>> data =
            new HashMap<String,HashMap<Integer,Integer>>();
((Map)data.get( "keyname" )).get(1);

随后:

   ((Map)data.get( "keyname" )).get( 1 ).put(2);
于 2013-03-24T17:54:35.447 回答
0

这样做:

data.put( var, new HashMap(intKey, intVal));

其中 intKey 和 intVal 是 Integer 类型的 Key 和 Integer 类型的值。

于 2013-03-24T17:56:10.943 回答