从嵌套的hashmap复制对象

时间:2014-10-01 18:06:38

标签: java hashmap

我有以下2个哈希映射,其中Message是我创建的对象。

HashMap<String, Message> hmA = new HashMap<>(); //A
HashMap<String, HashMap<String, Message>> hmFinal = new HashMap<>();

如果我使用以下

填充hmA
hmA.put("Albert", new Message("Albert", "albert@hotmail.com", "122-4645 ));
hmA.put("Anthony", new Message("Anthony", "anthony@hotmail.com", "570-5214"));
hmA.put("Alphonso", new Message("Alphonso", "alphonso@hotmail.com", "888-5314"));

然后我将hmA添加到hmFinal

 hmFinal.put("A", hmA);

现在,如果我创建一个临时散列图

HashMap<String, Message> tempHM =  new HashMap<>();

如果我只使用字母A进行搜索,如何使用hmA将整个哈希地图tempHM复制到hmFinal

基本上,如果用户想要查看与字母A关联的hashmap,我希望能够抓取所有hmA并搜索其中的信息。

2 个答案:

答案 0 :(得分:3)

通过使用字母A进行搜索来检索地图后,使用putAll将所有条目复制到地图中:

HashMap<String, Message> mapA = hmFinal.get("A");
tempHM.putAll(mapA);

P.S。:尝试使用接口(Map而不是HashMap)对变量进行编程。

答案 1 :(得分:3)

您正在寻找的方法是putAll

HashMap<String, Message> tempHM =  new HashMap<>();
tempHM.putAll(hmFinal.get("A"));