有一个List<Ads> alist, Ads有String code 和 BigDicimal value属性,如何按照code把value进行累计并输出到一个map
时间: 2024-12-14 09:20:08 浏览: 2
Java8 将List<Integer> 转换成以逗号分割的String字符串
为了按照`code`属性对`List<Ads>`的`value`属性进行累计,并将结果存储在一个`Map<String, BigDecimal>`中,你可以这样做:
首先创建一个空的`HashMap`来保存结果:
```java
Map<String, BigDecimal> cumulativeValues = new HashMap<>();
```
然后遍历`alist`,对于每个`Ads`对象,检查其`code`是否已经在`cumulativeValues`中。如果存在,则累加`value`;如果不存在,则添加新的键值对:
```java
for (Ads ads : alist) {
String code = ads.getCode();
BigDecimal currentValue = ads.getValue();
if (!cumulativeValues.containsKey(code)) {
cumulativeValues.put(code, currentValue);
} else {
cumulativeValues.put(code, cumulativeValues.get(code).add(currentValue));
}
}
```
这样,`cumulativeValues` map中就存储了每个`code`对应的累计`value`。
阅读全文