如何从文件中反转arraylist?

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

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

package reverse;

import java.io.File;
import java.io.FileNotFoundException;
import java.util.ArrayList;
import java.util.Scanner;

   public class reversed {

public static void main(String[] args) throws FileNotFoundException {
    // TODO Auto-generated method stub

    Scanner numFile = new Scanner(new File("input.txt"));
    ArrayList<Double> list = new ArrayList<Double>();
    while (numFile.hasNextLine()) {
        String line = numFile.nextLine();
        Scanner sc = new Scanner(line);
        sc.useDelimiter(" ");
        while(sc.hasNextDouble()) {
            list.add(sc.nextDouble());
        }
        sc.close();
    }
    numFile.close();
    System.out.println(list);
    }
}

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

9fkzdhlc

9fkzdhlc1#

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

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

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

Collections.reverse(list);

相关问题