【问题标题】:Sum of ArrayList using for loop使用 for 循环对 ArrayList 求和
【发布时间】:2017-03-08 12:45:14
【问题描述】:

如何计算下面我的 ArrayList 中特定行的总和。所以我已经看过 Stack overflow 了,大多数例子的 for 循环中都有一个 double。但是,我使用了一个字符串数组,所以我不确定如何计算行 [9] 的总和。

  try{
        //store csv file into arraylist
         ArrayList<String> searchProducts = new ArrayList<>();
        readData = new ArrayList<>();
        CSVReader br = new CSVReader(new FileReader(csvFile));
        readData = br.readAll();


         //skip first value of arraylist
       for(String[] row:readData.subList(1, readData.size()) ) {
      searchProducts.add(row[9]);
        System.out.println("saved: " + row[9]);


    }



    } catch (IOException e) {
        System.out.println("File does not exist");
        e.printStackTrace();
    }

【问题讨论】:

  • 也许您想修正缩进,以便您的代码更易于阅读。
  • 字符串的总和应该是多少?将所有这些连接在一起?您还尝试过做什么 - 您提供的代码与 ArrayList 无关

标签: java arrays csv arraylist sum


【解决方案1】:
int sum = 0;
for(String str:searchProducts){
 sum+=Integer.parseInt(str);
}

没有流 api

【讨论】:

  • 因为我使用的是String数组,所以解析Int方法对我不起作用。
【解决方案2】:

使用 Stream API 很容易:

int sum = searchProducts.stream()
                        .mapToInt(Integer::parseInt)
                        .sum();

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2018-10-15
    • 2014-06-10
    • 2021-04-18
    • 2012-04-06
    • 2016-04-06
    • 2020-05-21
    • 1970-01-01
    • 2018-12-03
    相关资源
    最近更新 更多