taitoushan 2010-04-09 14:02
浏览 182
已采纳

求一个简便的算法

兄弟们帮忙分析一个数据分析的算法呀
假如有这样的二维数据
001 张三 1300112 2500.0
001 张三 2222223 3000.0
003 李四 3124213 2800.0
002 老赵 5432545 4500.0
002 老刘 5432545 3400.0
003 王六 3124213 2800.0
假如我要按照第一列作为关键字整理的话,去掉重复的,最后只有001,002,003
现在我要把数据按照第一列整理成三行,第二列取第一次出现的,即001取张三,002 取老赵,003取李四
第三列的处理同第二列
第四列把相同的关键字的数据相加 ,即001对应5500.0 ,002对应7900.0 ,003对应5600.00
整理出来的数据格式如下:
001 张三 1300112 5500.0
002 老赵 5432545 7900.0
003 李四 3124213 5600.0

该怎么写算法实现呢?

这个只是对数据的操作,不是数据库

  • 写回答

2条回答 默认 最新

  • waterdh1 2010-04-09 14:12
    关注

    利用Map就可以实现了,把第一列作为key,其他几列合并成一个对象作为value。伪代码如下:
    遍历你的数据列表:
    检查HashMap中有无这一key, 若有,则把value中的第4列相加。
    若无,将key和value放入map.

    最终的map中的结果就是你所需要的。
    如果需要对第一列排序,可以用TreeMap,要不就用HashMap

    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论
查看更多回答(1条)
编辑
预览

报告相同问题?

手机看
程序员都在用的中文IT技术交流社区

程序员都在用的中文IT技术交流社区

专业的中文 IT 技术社区,与千万技术人共成长

专业的中文 IT 技术社区,与千万技术人共成长

关注【CSDN】视频号,行业资讯、技术分享精彩不断,直播好礼送不停!

关注【CSDN】视频号,行业资讯、技术分享精彩不断,直播好礼送不停!

客服 返回
顶部