2016-03-27 8 views
0

Dies ist die ursprüngliche Frage:Wie man eine ArrayList aus einer Datei umkehrt?

Schreiben Sie ein Programm, das eine Reihe von Doppel aus einer Datei liest, speichert sie in einem Array oder Arraylist, und sie dann heraus an die Konsole (mit System.out druckt zurück. println-Anweisungen) in REVERSE-Reihenfolge.

Zum Beispiel, wenn die Eingabedatei input.txt Datei enthält

27,3 45,6 98,3 10,1

Die Konsolausgabe 10,1 98,3 45,6 27,3

anzeigt Und das ist der Code, den ich bisher habe:

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); 
    } 
} 

Wie würde ich die von mir erstellte ArrayList umkehren? Der Code, den ich habe, ich habe nur keine Ahnung, wie man es umkehrt. Und wo genau würde ich diesen Code setzen? Vielen Dank!

+1

Sie verwenden nicht wirklich brauchen, um es zu umgekehrt - es ist nur rückwärts drucken. –

Antwort

3

Sie müssen die ArrayList nicht umkehren, sondern nur in umgekehrter Reihenfolge durchlaufen. So etwas wie,

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

Wenn Sie die List vor Iteration umkehren müssen, könnten Sie Collections.reverse(List) wie

Collections.reverse(list);