添加到hashmap内的hashmap

rac*_*hel 2 java hashmap

这是我有的:

HashMap<String,HashMap<Integer,Integer>> data =
            new HashMap<String,HashMap<Integer,Integer>>();
Run Code Online (Sandbox Code Playgroud)

但我在添加值时遇到问题,因为内部hashmap没有名称(注意:它不应该).我实际上是在尝试将数组列表添加到HashMap中的第一个Integer中,所以我尝试的是:

data.put(var, data.get(array.get(x), y));
Run Code Online (Sandbox Code Playgroud)

它非常不喜欢,我对如何做到完全无能为力.

mic*_*cha 5

注意

HashMap<String,HashMap<Integer,Integer>> data =
            new HashMap<String,HashMap<Integer,Integer>>();
Run Code Online (Sandbox Code Playgroud)

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

您可以使用以下命令添加HashMap<Integer, Integer>to 的实例data:

data.put("myKey", new HashMap<Integer, Integer>());
Run Code Online (Sandbox Code Playgroud)

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

data.get("myKey").put(123, 456); // use 123 as key and 456 as value
Run Code Online (Sandbox Code Playgroud)

获取值:

data.get("myKey").get(123); // returns 456
Run Code Online (Sandbox Code Playgroud)