问题是:有个list>,里面存放的比如是[{num=1,cc=1},{num=1,cc=1},{num=1,cc=1},{num=1,cc=2},{num=1,cc=2}],要求将list>变为存放的是[{num=3,cc=1},{num=2,cc=2}]
将num和cc拼接成key,存储在map中,然后遍历去重
比如第一个元素可以为1#1,第二个元素可以为1#1,依次类推,拼接完放入map中就可以了
新建一个map,在遍历list的时候,作为中转/匹配的map就可以了
新建一个map,遍历list,然后cc作为kye,num作为value,将list中的元素放到新建的map里面,如果key存在,value加1,如果不存在,则value=1,
还有你的list中存的是map吗?
先遍历去重,再求遍sum
将num和cc拼接成一个字符串如num|cc,存储在set中,最后set肯定都是不重复的
然后用string的split方法取set的元素分割,再放入map中去,最后把map放list中,OK!
list<Map<String,String>>::iterator list_iter = list.begin();//这个遍历的每个元素是Map<String,String>
Map<String,String>::iterator map_iter = list_iter->begin();//这个遍历可以得到num和cc这两个元素
只要会遍历,至于怎么去重和求和,那就简单了
谢谢各位啦 已搞定!!!!