2带Hashmap的维数组

时间:2014-02-21 00:48:39

标签: java hashmap multidimensional-array

有没有办法将二维数组放入哈希映射设置?

数组的示例是两个字符串{“John”,“red”},                                          {“George”,“blue}

我希望红色对应约翰等。

我知道我可以使用嵌套循环遍历2d数组中的每个项目,但是如何设置它以将它们添加到哈希映射

hashMap.put(“John”,“red”);

2 个答案:

答案 0 :(得分:1)

假设每个数组都有{Name,Color}形式的2个项目,你可以迭代它

for(String[] combo : some2DArray){
   someHashMap.Put(combo[0], combo[1]); // Or swap them, depending on what you 
                                        // want to be the key and the value
}

如果您想避免删除数据的可能性,因为您碰巧有两个同名的人,您可以采取一些方法:

  • 保留旧数据

  • 保留新数据

  • 将新数据分配给新密钥

  • 合并相同密钥中的数据

保留旧数据

在使用HashMap#put之前执行检查并查看该密钥是否已存在 仅在尚不存在的情况下添加数据。

保留新数据

使用当前代码,它将覆盖旧值。

将新数据分配给新密钥

根据您自己的规则创建一个新密钥并插入。

合并相同密钥中的数据

HashMap定义为HashMap<String, List<String>>并将值添加到列表中。

答案 1 :(得分:-2)

如何实施Pair课程,以便您可以使用HashMap<Pair<String,String>>

编辑:可能是因为我误解了你的问题,这是你问的问题吗?