ArrayList中类对象属性的总和

ArrayList中类对象属性的总和,第1张

ArrayList中类对象属性总和

我会遍历列表并将结果收集在地图中:

public static List<ProfitAndLossDataDO> sumPerLedgerName    (List<ProfitAndLossDataDO> list) {    Map<String, ProfitAndLossDataDO> map = new HashMap<>();    for (ProfitAndLossDataDO p : list) {        String name = p.getLedgerName();        ProfitAndLossDataDO sum = map.get(name);        if (sum == null) { sum = new ProfitAndLossDataDO(name, 0.0); map.put(name, sum);        }        sum.setLedgerAmount(sum.getLedgerAmount() + p.getLedgerAmount());    }    return new ArrayList<>(map.values());}

编辑:

Java
8对

Map
接口的增强使我们能够以一种稍微更优雅的方式来实现此方法,
if
中间是令人讨厌的代码块:

public static List<ProfitAndLossDataDO> sumPerLedgerName    (List<ProfitAndLossDataDO> list) {    Map<String, ProfitAndLossDataDO> map = new HashMap<>();    for (ProfitAndLossDataDO p : list) {        String name = p.getLedgerName();        ProfitAndLossDataDO sum = map.computeIfAbsent(name, n -> new ProfitAndLossDataDO(n, 0.0));        sum.setLedgerAmount(sum.getLedgerAmount() + p.getLedgerAmount());    }    return new ArrayList<>(map.values());}


欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/zaji/5475942.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2022-12-12
下一篇 2022-12-12

发表评论

登录后才能评论

评论列表(0条)

保存