Java Map Key-Value

/** 充值电话的电话号码、次数、金额(txt) **/
    public String AP0050011(List<TransInfoCsv> sources, String batchNo) {
        List<TransInfoCsv> computeList = AlipayAnalysisUtil.filterTransInfoCsv(sources, batchNo, null, null, ClazzTag.chargePhoneCall);
        Func.Func1<TransInfoCsv, String> keyExpress = new Func1<TransInfoCsv, String>() {   
            public String apply(TransInfoCsv t) {
                String phoneNum = getPhoneNO(t.consumeTitle);
                   return phoneNum;
            }
        };

        Func.Func1<TransInfoCsv, Tuple3<String, Integer, Float>> valueExpress = new Func1<TransInfoCsv, Tuple.Tuple3<String,Integer,Float>>() {

            public Tuple3<String, Integer, Float> apply(TransInfoCsv t){
                String phoneNum = getPhoneNO(t.consumeTitle);                           
                Tuple3<String,Integer,Float> item = Tuple.tuple(phoneNum, 0, 0.0f);             
                    return item;
            }
        };

        Action.Action3<TransInfoCsv, String, Map<String,Tuple3<String, Integer, Float>>> aggregate = new Action3<TransInfoCsv, String, Map<String,Tuple3<String,Integer,Float>>>() {


            public void excute(TransInfoCsv item, String key,
                    Map<String, Tuple3<String, Integer, Float>> map) {
                Tuple3<String, Integer, Float> value = map.get(key);
                value.set2(value._2()+1);
                value.set3(value._3()+Float.parseFloat(item.amountPay));
                map.put(key, value);

            }
        };

        Map<String, Tuple3<String, Integer, Float>> map = ListUtils.map(computeList, keyExpress, valueExpress, aggregate);

        StructDocument<Tuple3<String, String, String>,Tuple3<String, Integer, Float>> dc = new StructDocument<Tuple.Tuple3<String,String,String>, Tuple.Tuple3<String,Integer,Float>>();

        Tuple3<String, String, String> header = Tuple.tuple("手机号", "充值次数", "充值金额");

        dc.setHeader(header);
        dc.addAll(map.values());


        return dc.toString();
    }
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值