日期:2014-05-20  浏览次数:20752 次

怎样用java编写将一维数组中条件相同数据相加
怎样用java编写将一维数组中条件相同数据相加?比如数组的内容如下:
中国,100
美国,100
中国,200
日本,100
美国,100
我想达到的效果如下:
中国,300
美国,200
日本,100

------解决方案--------------------
看到你写的原始数据后,我瀑布汗啊,看来你对值对象完全没概念,那简单点用二维数组吧。
Java code

        Object[][] vos = { { "中国", 100 }, { "美国", 100 }, { "中国", 200 }, { "美国", 300 }, { "中国", 400 }, { "美国", 500 }, };
        HashMap<String, Integer> mapResult = new HashMap<String, Integer>();
        for (int i = 0; i < vos.length; i++) {
            Object[] vo = vos[i];
            Integer num = mapResult.get(vo[0]);
            if (num == null) {
                num = 0;
            }
            mapResult.put((String) vo[0], num + (Integer) vo[1]);
        }
        System.out.println(mapResult);