Java使用multimap数据结构

真实业务开票业务

//根据consignorId、tax分类汇总

Multimap<String, TfFinanceSettleConsignorShip> byownerCompNo = ArrayListMultimap.create();
            for (TfFinanceSettleConsignorShip financeSettleConsignor:paramSelect)
            {
                String settleNo = financeSettleConsignor.getSettleNo();
                if (!LockManager.getKeyLock().lock(LockName.SETTLE_NO.create(settleNo))) {
                    throw new RuntimeException("结算单号"+settleNo+"正在被其他人操作,请稍候再试!");
                }
              
 byownerCompNo.put(ObjectUtils.toString(financeSettleConsignor.getConsignorId())+financeSettleConsignor.getTax()+" "+financeSettleConsignor.getInvoicingPlatformCode()+" "+financeSettleConsignor.getConsignorLedgerCode(), financeSettleConsignor);
            }

for (Entry<String, Collection<TfFinanceSettleConsignorShip>> p : byownerCompNo.asMap().entrySet()){

// 分类完毕之后 再依次分类汇总

}

我们希望得到键可以重复的map数据结构,这样在查询特定键时可以返回多个值,类似数据库的查询。

// Returns a List, not a Collection.

具体关于Map拿值不理解的可以看,转载  https://blog.csdn.net/mageshuai/article/details/3523116

Logo

魔乐社区(Modelers.cn) 是一个中立、公益的人工智能社区,提供人工智能工具、模型、数据的托管、展示与应用协同服务,为人工智能开发及爱好者搭建开放的学习交流平台。社区通过理事会方式运作,由全产业链共同建设、共同运营、共同享有,推动国产AI生态繁荣发展。

更多推荐