五个map怎么快速合并 要求速度很快 相同的键对应的值相加

sasuke38 发布于 2011/06/23 18:55
阅读 4K+
收藏 0

HashMap<Integer, Integer> arm=new HashMap<Integer, Integer>();
HashMap<Integer, Integer> body=new HashMap<Integer, Integer>();
HashMap<Integer, Integer> head=new HashMap<Integer, Integer>();
HashMap<Integer, Integer> leg=new HashMap<Integer, Integer>();
HashMap<Integer, Integer> wst=new HashMap<Integer, Integer>();
.
.
.
我先定义五个hashmap 然后通过方法分别给这5个hashmap赋值,每个hashmap大约有5对键值(int类型,每个map大小不一样)
现在我想合并这五个map  关键就是 这五个map中有重复的key  我希望合并的时候相同的key所对应的value相加,并且效率要很高

比如第一个map内容是[1=3,4=-1,13=2,58=3];第二个map内容是[4=5,9=1,11=4,15=2,88=5,76=-4]...

加载中
0
james.xu
james.xu
除了一个个遍历会有更好的办法么?
0
jobell
jobell

覆写一下putAll方法。
这个是HashMap的代码

 public void putAll(Map<? extends K, ? extends V> m) {

        for (Map.Entry<? extends K, ? extends V> e : m.entrySet())

            put(e.getKey(), e.getValue());

    }

返回顶部
顶部