您的位置:首页 > 编程语言 > Java开发

java通过map来计算重复次数

2015-03-31 00:12 232 查看
原来在有点糊涂的情况下,可能是那段时间写js写的头昏了吧,差点把他是客服端代码都给忘却了。导师的一词MVC就好如当头棒喝,把我从梦中叫醒,话不多说,先给出之前的渣渣代码

//计算总价
var cnt= 0;
$(".price").each(function(){
cnt +=parseInt($(this).text());
});
$("#count").text(cnt);

//创建数组
var a=new Array();
var i=0;
$(".menuId").each(function(){
a[i]=$(this).attr("sid");
i++;
});
// 统计代码
b = new Array();
for (var index in a) {
if (b[a[index]] == null)
b[a[index]] = 1;
else b[a[index]]++;
}
// 输出统计
for (var index in b) {
console.info(index);
$("."+index).slice(1).remove();
$(".copy_"+index).text(b[index]);
}

不用留意看啦,这些代码姑且算是我的一个教训吧 ,这种在dom都生成的情况下再对dom处理明显是非常不明智的,不能说全盘否定,只是有更好的解决方法而已(也只是相对就是了)

在后端处理数据只需要这么简单:

Map<RestaurantMenu,Integer> restaurantMenuMap = new LinkedHashMap<RestaurantMenu,Integer>();
for(OrderingUser orderingUser:orderingUsers){
Integer count=  restaurantMenuMap.get(orderingUser.getRestaurantMenu());
restaurantMenuMap.put(orderingUser.getRestaurantMenu(), (count == null) ? 1 : count + 1);
countPrice+=orderingUser.getRestaurantMenu().getPrice();
}

restaurantMenuMap 就是想要拿到的结果。coutPrice就是计算总和喽

吃一垫长一智,key值可存对象,我不是第一天知道,却是第一次用。看完的同学们有什么感受么?欢迎分享批评!
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: