如何从文件中反转ArrayList?

时间:2016-03-27 23:31:44

标签: java arraylist input reverse

这是原来的问题:

  

编写一个程序,从文件中读取一组双打,将它们存储在数组或ArrayList中,然后以REVERSE顺序将它们打印回控制台(使用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?我工作的代码,我只是不知道如何扭转它。我究竟会把那些代码放在哪里?谢谢!

1 个答案:

答案 0 :(得分:3)

您不需要反转ArrayList,只需按相反的顺序迭代它。像,

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

如果您必须在迭代前撤消List,可以使用Collections.reverse(List)之类的

Collections.reverse(list);