问题
如果我显式循环遍历哈希映射A中的每个元素并将每个元素“放”到哈希映射B中,那么我没有问题。但是如果由于某种原因尝试调用A.putAll(B)
,B最终会为空。
正在运行的代码是下面显示的基本迭代器方法:
Iterator it = A.entrySet().iterator();
while(it.hasNext()){
Map.Entry entry = (Map.Entry) it.next();
B.put((Integer)entry.getKey(),(Integer)entry.getKey());
}
我遇到麻烦的地方就是我这样做的时候。
HashMap A = loadHashMapWithData();
HashMap B = new HashMap();
A.putAll(B);
System.out.println(A);
System.out.println(B);
我试图将数据传入的第二个hashmap总是以“null”结尾。 展望未来,我正在使用第一种方法,但很高兴知道为什么putAll会失败。
答案 0 :(得分:3)
A.putAll(B)
将B
中的所有元素放入A
- 我认为您希望B.putAll(A)
将A
中的所有元素放入B
{1}}
object.method(parameter)
的{{1}}上的{p> method
来电object
- 您想在parameter
上致电putAll
,B
是你的B