2016-03-27 62 views
0

這是原題:如何從文件中反轉ArrayList?

編寫一個程序,從文件中讀取一組雙打,將它們存儲在一個數組或ArrayList中,然後打印回出去控制檯(使用System.out中。 println語句)按REVERSE順序排列。

例如,如果輸入文件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

你並不需要真正扭轉它用。 –

回答

3

您不需要反轉ArrayList,只需按相反的順序進行迭代即可。只是打印倒退 - 喜歡的東西,

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

如果你一定要反向迭代之前的List,你可能會喜歡Collections.reverse(List)

Collections.reverse(list);