Text in zweidimensionalem Array ablegen

Ich lege dir nochmals die eigenhändig programmierten dynamischen Datenstruckturen ans Herz! Die kannste die so anpassen wie du es willst!
Hab jetzt mal ne Queue implementiert ist nur ein Denkanstoss und nich so wie sie im Lehrbuch steht. Guck sie dir an und bearbeite sie so wie du sie haben willst.
Was auf jeden fall noch zu machen ist, ist die Methode delete() welche ein Element löscht. Is eine gute Übung um die dynamik zu verstehen.

MFG
Joe
 
Danke, werde ich mir mal genauer anschauen.

Nun mal eine andere Frage (ist ein anderes Programm),
folgender Code liest eine textdatei ein, und speichert dies zeilenweise in ein Array:
Code:
//Textdatei in Array einlesen...	
public String[] txtzustring(String filename){
    String[] Ar=new String[0];
    try{
    	BufferedReader br = new BufferedReader(new InputStreamReader(new FileInputStream( filename ) ) );       
    		String zeile="";
    			while ((zeile=br.readLine()) !=null) {
    				String[] temp=Ar;
    				Ar=new String[temp.length+1];
    				for(int i=0;i<temp.length;i++){
    					Ar[i]=temp[i];
    				}
    				Ar[Ar.length-1]=zeile;
    			}
    	}
    	catch(IOException e){
    		System.out.println("fehler");
    }
return Ar;
}

Aufgerufen wird es mit:
Code:
String[] file=txtzustring("C:\File.txt");

Nun hab ich eine Textdatei mit über 65000 Zeilen, das einlesen dauert ca 3-4 Minuten.
Und jetzt meine Frage, kann man es irgendwie beschleunigen? bzw. bin ich für alle Optimierungsmöglichkeiten dankbar.

Gruß Alex
 
Zuletzt bearbeitet:
Kopiere deine Array mit System.arraycopy oder nutze eine ArrayList. Die kannst du wenn nötig immer noch auf ein Array übertragen. Aber das dauernde hin und herkopieren während des lesens der Datei kostet natürlich irre viel Zeit.
 
Zurück