使用另一个hashmap中的值加载hashmap

时间:2013-11-30 14:02:43

标签: java hashmap

我有一个hashmap1< O1,O2>

我想创建一个hashmap2< O1,O3>来自原始的hashmap1,其中O3是O2中的一个字段。

我知道我可以使用代码行

hashmap1.values().O2

检索要加载的O2的集合,但我无法将它拼凑在一起。

我真的必须在这个过程中使用for循环吗?

问候。

2 个答案:

答案 0 :(得分:2)

您可以使用条目集来迭代值:

for(Entry<O1,O2> e : hashmap1.entrySet()){
   hashmap2.put(e.getKey(), e.getValue().getO2);
}

答案 1 :(得分:2)

尝试:

Map<O1, O3> newMap = new HashMap<>(originalMap.size());
for(Entry<O1, O2> originalEntry : originalMap.entrySet()) {
    newMap.put(originalEntry.getKey(), originalEntry.getValue().getO3());
}