java通过map来计算重复次数

原来在有点糊涂的情况下,可能是那段时间写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值可存对象,我不是第一天知道,却是第一次用。看完的同学们有什么感受么?欢迎分享批评!

转载于:https://my.oschina.net/nyp/blog/393840

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值