有没有办法将二维数组放入哈希映射设置?
数组的示例是两个字符串{“John”,“red”}, {“George”,“blue}
我希望红色对应约翰等。
我知道我可以使用嵌套循环遍历2d数组中的每个项目,但是如何设置它以将它们添加到哈希映射
hashMap.put(“John”,“red”);
答案 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>>
?