首页 > 解决方案 > 获取 ArrayList 的元素总和

问题描述

我正在尝试获取 ArrayList 的元素的总和。

我只能打印数字,但不能打印总和。

现在它显示1,1,1,1,1哪个等于 5,这是正确的数字。但我希望它改为显示5

ArrayList <history> history = historyDAO.getHistory(x, y);
ArrayList <Integer> totalWins = new ArrayList <Integer> ();

for (history his : history) {
       String res = his.getRes();
             if (res.equals("Vundet")) {
                    int totalW = 0; 
                    totalW++;
                    totalWins.add(totalW);
              System.out.print(totalWins);
}}

为了更好的保证,我会提到 是ArrayList<history>指存储所有数据的类。现在我只想从那里处理res值等于的对象Vundet

标签: javafor-looparraylist

解决方案


您似乎正在尝试计算“Vundet”条目。这可以通过增加一个计数器变量来完成:

int count = 0;
for (history his : history) {
  if (his.getRes().equals("Vundet")) {
    count++;
  }
}
System.out.println(count);

您也可以使用Java 流编写它:

long count = history.stream()
    .map(history::getRes)
    .filter("Vundet"::equals)
    .count();

推荐阅读