如何从文件中反转arraylist?

lskq00tm  于 2021-07-13  发布在  Java
关注(0)|答案(1)|浏览(464)

这是最初的问题:
编写一个程序,从文件中读取一组double,将它们存储在数组或arraylist中,然后以相反的顺序将它们打印回控制台(使用system.out.println语句)。
例如,如果输入文件input.txt文件包含
27.3 45.6 98.3 10.1
控制台输出将显示10.1 98.3 45.6 27.3
这是我目前掌握的代码:

  1. package reverse;
  2. import java.io.File;
  3. import java.io.FileNotFoundException;
  4. import java.util.ArrayList;
  5. import java.util.Scanner;
  6. public class reversed {
  7. public static void main(String[] args) throws FileNotFoundException {
  8. // TODO Auto-generated method stub
  9. Scanner numFile = new Scanner(new File("input.txt"));
  10. ArrayList<Double> list = new ArrayList<Double>();
  11. while (numFile.hasNextLine()) {
  12. String line = numFile.nextLine();
  13. Scanner sc = new Scanner(line);
  14. sc.useDelimiter(" ");
  15. while(sc.hasNextDouble()) {
  16. list.add(sc.nextDouble());
  17. }
  18. sc.close();
  19. }
  20. numFile.close();
  21. System.out.println(list);
  22. }
  23. }

如何反转我创建的arraylist?我的代码是有效的,我只是不知道如何逆转它。我应该把密码放在哪里?谢谢!

9fkzdhlc

9fkzdhlc1#

你不需要反转 ArrayList ,只需按相反顺序迭代即可。比如说,

  1. for (int i = list.size(); i > 0; i--) {
  2. System.out.println(list.get(i - 1));
  3. }

如果你必须倒转方向 List 在迭代之前,您可以使用 Collections.reverse(List) 喜欢

  1. Collections.reverse(list);

相关问题