java - 如何访问Java数组中的第一列数据并分配给另一个变量?

标签 java arrays list readfile

我有一个 .txt 文件,其中包含一些值(已附上)。我需要对每一列数据执行平均和求和运算。读取文件后我无法访问列数据。 Data file

public class EEG {

    public static void main(String[] args)  {
        String pathToCsv = "C:\\Users\\Raghu\\Desktop\\EEG files\\testEEGData.txt"; 
        List<String> l2 = new ArrayList<>();
         l = readFileInList(pathToCsv);     

        for(int i = 0; i < 1; i++) 
              System.out.println(l.get(i));
            // I want to performe operation here, like sum and average of first column


    public static List<String> readFileInList(String fileName) 
      {       
        List<String> lines = Collections.emptyList(); 
        try
        { 
          lines = Files.readAllLines(Paths.get(fileName), StandardCharsets.UTF_8); 
        } 

        catch (IOException e) 
        { 
          e.printStackTrace(); 
        } 
        return lines; 
      } 

最佳答案

用逗号分割字符串并将第一个元素视为数字:

double value = Double.parseDouble(l.get(i).split(",")[0]);

映射列表:

List<Double> numbers = l.stream()
      .map(line -> Double.parseDouble(line.split(",")[0]))
      .collect(Collectors.toList());

并且可以计算总和:

numbers.stream().reduce(Double::sum)

放在一起:

List<String> l = readFileInList(pathToCsv); 

List<Double> numbers = l.stream()
      .map(line -> Double.parseDouble(line.split(",")[0]))
      .collect(Collectors.toList());

Double sum = numbers.stream().reduce(Double::sum).get();

Double avg = sum / numbers.size();

关于java - 如何访问Java数组中的第一列数据并分配给另一个变量?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/58539450/

相关文章:

java - Hibernate 自动生成第二个 id

c# - 使用对象列表填充 UserControl Gridview

Android 保存列表<String>

java - 扩展远程与 UnicastRemoteObject

java - Datastax java 驱动程序 3.0.0 未找到枚举注释

javascript - 命名对象及其集合

java - 如何找到数组中最大的数

ios - 尝试使用 swift 根据对象的公共(public)键拆分对象数组

c# - 协变地交换列表中的两个元素

java - Java中将枚举值转换为字符串数组的最便捷方法