我目前有一个配置为这样的Map.
Map<String, ArrayList<Object>> map = new HashMap<String, ArrayList<Object>>();
Run Code Online (Sandbox Code Playgroud)
其目的是为了能够进行如下设置:
array("foo"->array(1->"aaa",2->"bbb",3->"ccc"),
"bar"->array(1->"aaa",2->"bbb",3->"ccc"),
"bah"->array(1->"aaa",2->"bbb",3->"ccc"),
)
Run Code Online (Sandbox Code Playgroud)
我遇到的问题是我可以很好地创建根数组,但它会执行以下操作,使用前面的示例作为插图
array("foo"->array(3->"ccc"),
"bar"->array(2->"bbb"),
"bah"->array(3->"ccc"),
)
Run Code Online (Sandbox Code Playgroud)
我试图找出的是如何附加子数组而不是覆盖它.我认为它很容易完成我只是遗漏了一些明显的东西.
小智 5
您需要的是首先检查map是否具有特定键的条目.如果没有,则添加一个空的arraylist.
之后,从地图中获取该arraylist并将对象添加到该arraylist.
Map<String, ArrayList<Object>> map = new HashMap<String, ArrayList<Object>>();
String first = "FIRST";
if (map.get(first) == null){
map.put(first, new ArrayList<Object>());
}
map.get(first).add(new Object());
Run Code Online (Sandbox Code Playgroud)
如果您将在地图上方打印,您将获得所需的输出.