HashMap putAll不添加任何元素

时间:2013-08-03 23:46:33

标签: java hashmap

问题

如果我显式循环遍历哈希映射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会失败。

1 个答案:

答案 0 :(得分:3)

A.putAll(B)B中的所有元素放入A - 我认为您希望B.putAll(A)A中的所有元素放入B {1}}

传递object.method(parameter)的{​​{1}}上的{p> method来电object - 您想在parameter上致电putAllB是你的B