Java 具有哈希映射的二维数组

Java 具有哈希映射的二维数组,java,hashmap,multidimensional-array,Java,Hashmap,Multidimensional Array,有没有办法将2d数组放入哈希映射设置中 数组的示例是两个字符串{“John”,“red”}, {“乔治”,“蓝色} 我想让瑞德和约翰等通信 我知道我可以使用嵌套循环遍历2d数组中的每个项,但是如何设置它以将它们添加到哈希映射中呢 hashMap.put(“John”,“red”);如何实现一个对类,这样您就可以使用hashMap 编辑:可能是我误解了你的问题,这就是你要问的吗?假设每个数组都有两个{Name,Color}形式的项,你可以迭代它 for(String[] combo : some2

有没有办法将2d数组放入哈希映射设置中

数组的示例是两个字符串{“John”,“red”}, {“乔治”,“蓝色}

我想让瑞德和约翰等通信

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


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

如何实现一个
类,这样您就可以使用
hashMap


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

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

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
,并将值添加到列表中。

回顾:这只是您在问题中所说内容的具体实现。据我所知,这就是您想要的。我的说法正确吗?是的,如果我按照最初的方式做,我会遇到问题,因为op将遍历数组中的每个字符串>我不确定是否可以同时添加{name,Color}这样做不会出现重叠问题。我仍然不完全清楚你在说什么,但如果它起作用,那就好了。但需要注意的是:这种方法假设每个名称只出现一次。你确定这是真的吗?我添加了一些方法,你可以用它们来处理重复的密钥。我会尝试更简单。我有一个2d数组,它有10个名称和颜色。我想将该数组中的信息移动到hashmap中,但我不知道最好的实现方法。我想要的最终结果是,如果我说John,它会告诉我他的颜色是蓝色。每个名称在数组中只出现一次。我本来打算使用嵌套的for循环来实现它,但我不知道“我认为这对添加到hashmap不起作用,因为您不需要同时添加名称和颜色,这是嵌套循环无法做到的。”。