我正在尝试在循环中求和每个地图对象的所有值。我尝试过以下代码,但无法正常工作。我有一个地图对象(hrPersonnels
)列表,一个地图对象将包含许多键和值,我想获取每个地图对象的总和
<td>Total</td>
<td th:each="hrp:${hrPersonnels}" class="text-right">
<span th:text="${ #aggregates.sum(hrp)}">
</span></td>
答案 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>