每个对象值的总和

时间:2019-12-28 09:49:44

标签: java thymeleaf

我正在尝试在循环中求和每个地图对象的所有值。我尝试过以下代码,但无法正常工作。我有一个地图对象(hrPersonnels)列表,一个地图对象将包含许多键和值,我想获取每个地图对象的总和

<td>Total</td>
<td th:each="hrp:${hrPersonnels}" class="text-right">
<span th:text="${ #aggregates.sum(hrp)}"> 
</span></td> 

1 个答案:

答案 0 :(得分:0)

您只需遍历List和Hashmap,最后只需对值求和并将其添加到新的List中即可。在百里香中,您可以遍历新列表。看起来像这样:

ArrayList<HashMap<String, Integer>> hrPersonnels = new ArrayList<HashMap<String, Integer>>();

ArrayList<Integer> aListOfSum = new ArrayList<>();

for(int i = 0; i < hrPersonnels.size(); i++) {
    int sum = 0;
    for(Integer d: hrPersonnels.get(i).values()) {
        sum += d;
    }
    aListOfSum.add(sum);
}

正如我在百里香中所说的那样,只需遍历aListOfSum

在百里香中看起来像这样:

td>Total</td>
<tr th:each="sum: ${aListOfSum}">
    <span th:text="${sum}"></span>
</tr>