Java 使用两个不同的地图创建新地图
如何使用两个现有贴图中的值创建新贴图 第一张地图Java 使用两个不同的地图创建新地图,java,map,Java,Map,如何使用两个现有贴图中的值创建新贴图 第一张地图 Map <ID, name> Map 第二张地图 Map <ID, email> Map ID是同一个对象 我如何迭代这两个地图,以获取名称和电子邮件来创建一个新的地图,如 在下面假设字符串值是唯一的 Map <name, email> Map 假设名称是唯一的,那么您可以这样做 我还没有编译过这篇文章,但它应该会给你一个大概的想法 Map<Object, Object> res = ne
Map <ID, name>
Map
第二张地图
Map <ID, email>
Map
ID是同一个对象
我如何迭代这两个地图,以获取名称和电子邮件来创建一个新的地图,如
在下面假设字符串值是唯一的
Map <name, email>
Map
假设名称是唯一的,那么您可以这样做
我还没有编译过这篇文章,但它应该会给你一个大概的想法
Map<Object, Object> res = new Hashmap();
Set<Object> keys= firstMap.keySet();
for (Object key : keys) {
res.put(firstMap.get(key), secondmap.get(key);
}
Map res=newhashmap();
Set keys=firstMap.keySet();
用于(对象关键点:关键点){
res.put(firstMap.get(key),secondmap.get(key);
}
是名称和电子邮件字符串还是对象?请小心!虽然ID可能是唯一的,但名称不是唯一的。如果您按照要求操作,并且有两个不同的用户,具有不同的ID值,但名称相同,例如{ID=1,name=“John Smith”}
和{ID=2,name=“John Smith”}
,然后在创建地图后,您将丢失其中一个电子邮件地址,并且由于map
迭代的随机顺序,您无法提前知道是哪一个。您要求执行的操作没有意义。@Archangel33 ID是对象,名称和电子邮件是Strings@JimGarrison是的。我删除了我的答案,因为虽然很容易做,但我这不是一个明智的想法,原因很明显。如果你真的想创建这样一个映射,最好使用代码来明确地给出你想要的,因为你已经有了两个包含所需信息的映射,而使用同一个键。@JimGarrison我以name,email为例。我正在试图找出实现这个映射的逻辑做这个动作。这对我有用。谢谢。