我们说我有两个HashMaps如下
HashMap<Character, Integer> map1 = new HashMap<Character, Integer>();
HashMap<Character, Integer> map2 = new HashMap<Character, Integer>();
现在我想将这两个合并在一起,并将它们作为map3
放入另一个HashMap中在渐近复杂度方面做到这一点的最佳方法是什么。
答案 0 :(得分:1)
就渐近复杂性而言,它意味着创建一个新地图并将每个地图的所有元素添加到其中。所以T(插入)*(m + n)(如果这是作业,我不会透露答案!)。 java哈希映射不比文本书哈希映射更有效,因此没有捷径。最后,如果您可以随意修改两个地图中的任何一个,我建议将较小的地图合并到较大的地图中。这将节省迭代大型地图所花费的时间,并可能节省内存分配所花费的时间。
答案 1 :(得分:0)
做你想做的最简单的方法是:
HashMap<Character, Integer> map3 = new HashMap<Character, Integer>();
map3.putAll(map1);
map3.putAll(map2);
希望这有帮助。