【发布时间】:2020-02-12 12:52:29
【问题描述】:
我正在从一个学生文件中读取数据,其中每一行都是一个学生,然后我将该数据转换为一个学生对象,并且我想返回一个学生对象数组。我目前正在通过将每个学生对象存储在一个数组列表中然后将其作为标准学生 [] 返回来执行此操作。使用arraylist来获得动态大小的数组然后将其转换为标准数组以进行返回是否更好,或者我应该首先计算文件中的行数,制作该大小的Student []然后填充该数组。或者有没有更好的方法完全做到这一点。
如果有帮助,这里是代码:
public Student[] readStudents() {
String[] lineData;
ArrayList<Student> students = new ArrayList<>();
while (scanner.hasNextLine()) {
lineData = scanner.nextLine().split(" ");
students.add(new Student(lineData));
}
return students.toArray(new Student[students.size()]);
}
【问题讨论】:
-
CSV 文件处理有一个很好的答案(就像你的情况一样,除了分隔符是` ` 而不是
,)stackoverflow.com/a/55085305/4062197 -
我现在去看看,谢谢
-
现在返回类型可以是任何东西。它是从退货开始的,只是主要打印出来。我只是使用了一个数组,因为我不需要任何其他数据类型的任何特性
-
您好,您可以在作业中使用流吗?
-
这不是为了分配,我的意思是它是并且我通过使用数组列表来完成它。这只是让我想知道执行此操作的标准方法是什么。我只是觉得我没有真正的理由使用数组列表,所以回答你的问题是的。什么都可以用