java - 如何获得最佳性能水平并保持可读性
问题描述
请注意,dueTransfersMap列出了 customer_consignee 及其转账金额,例如 #cust_ABC , 120
dueTransfersCountMap 列出了各个 customer_consginee 的计数。 DOUBLE_AT 指的是分隔符
Map<String, BigDecimal> dueTransfersMap = new HashMap<String, BigDecimal>();
Map<String, Long> dueTransfersCountMap = new HashMap<String, Long>();
BigDecimal dueCustomerConsigneeTransferTotal = BigDecimal.ZERO;
Long dueCustomerConsigneeTransferCount = 1L;
for (DueCustomerAndConsigneeTransferData dueTransferRecord : dueTransferRecordList) {
String sKey = dueTransferRecord.getCustomerName() + Symbol.DOUBLE_AT.getValue() + dueTransferRecord.getConsigneeName();
if (dueTransferRecord.getCustomerConsigneeTransferWeight() != null) {
dueCustomerConsigneeTransferTotal = dueTransferRecord.getCustomerConsigneeTransferWeight();
}
if (dueTransfersMap.containsKey(sKey)) {
dueTransfersMap.put(sKey, dueTransfersMap.get(sKey).add(dueCustomerConsigneeTransferTotal));
dueTransfersCountMap.put(sKey, dueTransfersCountMap.get(sKey) + dueCustomerConsigneeTransferCount);
} else {
dueTransfersMap.put(sKey, dueCustomerConsigneeTransferTotal);
dueTransfersCountMap.put(sKey, dueCustomerConsigneeTransferCount);
}
}
解决方案
推荐阅读
- installation - 安装 Xcode 10.2 beta 命令行工具和其他工具时遇到问题
- vim - 如何在执行映射时防止搜索突出显示
- javascript - 激活和停用 EventListener JS vanilla
- javascript - 在滚动导航栏上,颜色没有改变。如何让它发挥作用?
- python - 如何为 http 请求连接库?
- ansible - How to uncomment multiple lines in a file using Ansible playbook
- java - 如何使用java解决查询firebase中的非法字符
- r - 按列分组,保持最小值,并列连接选定值
- python - 跟进问题:pick_event to get a point using matplotlib
- python - Dynamic selection of number of clusters in clustering