我想做一个for循环存入一个键值对集合,但是由于map集合的特性,当存入第二个值的时候,第一个存入的值被覆盖了,请问如何处理?
问题示例代码如下:
HashMap map =new HashMap();
for(int i=0;i<2;i++){
ArrayList list =new ArrayList();
list =getMethod(此方法返回一个list);
map.put("示例",list);
}
请问这个方法怎么改list才能不被第二次循环覆盖掉呢?
我想做一个for循环存入一个键值对集合,但是由于map集合的特性,当存入第二个值的时候,第一个存入的值被覆盖了,请问如何处理?
问题示例代码如下:
HashMap map =new HashMap();
for(int i=0;i<2;i++){
ArrayList list =new ArrayList();
list =getMethod(此方法返回一个list);
map.put("示例",list);
}
请问这个方法怎么改list才能不被第二次循环覆盖掉呢?
map特性就是这样,其实如果你的key都是一样的话,直接用List<List>就好了;如果不全一样,担有重复,可以像 @scort 说的那样做,或者再套一层Map<String,List<List>>
8 回答6.4k 阅读
1 回答4.2k 阅读✓ 已解决
3 回答2.3k 阅读✓ 已解决
2 回答3.2k 阅读
2 回答3.9k 阅读
3 回答1.7k 阅读✓ 已解决
1 回答2k 阅读✓ 已解决
要么不用map用list,要么把map的key加上一个序号。