【发布时间】:2010-11-07 09:26:19
【问题描述】:
我有一张这样的地图:
private Map<String, List<List<String>>> someMap;
private List<List<String>> someList1;
private List<String> someList2;
....一些初始化..... ....一些列表人口....
那我有,
if(someMap.get(someKey) == null){
someList1.add(someList2);
someMap.put(someKey, someList1);
} else {
someMap.get(someKey).add(someList2);
}
请注意,列表在添加到地图后会变得清晰,然后会被填充。
例如,我有两个带有一些值的键“Apple”和“Orange”。循环之后,我只得到橙色。前一个键被覆盖!!!
编辑:在循环的每次迭代中,都会填充一个列表。循环结束,它被添加到地图中,添加后,列表被清除()。
有什么建议吗?谢谢。
代码: http://pastebin.com/m2712e04 [根据要求.. 所以请不要怪我发帖..]
【问题讨论】:
-
仅供参考:标题中不需要[JAVA],这就是我们有标签的原因
-
我认为您需要包含已省略的位。我怀疑您混淆了键和值,但代码或您的问题中没有足够的信息来确定。
-
在循环的每次迭代中,都会填充列表。循环结束,它被添加到地图中,添加列表后获得 clear()。
-
你能发布更多代码吗?现在提出问题的方式,循环和列表在循环后被清除,太模糊了。循环从哪里开始,在哪里结束,哪些列表被清除等等。
-
我对代码做了一些修改来说明我的观点。见这里:pastebin.com/pastebin.php?diff=m5a414bfb 但我可以建议(没有责备的意思!)你有一个经验丰富的编码器指导你吗?
标签: java collections