# arraylist erstellen



## Guest (20. Nov 2005)

Hallo, ich bin grade dabei, ein Programm zu programmieren, was eine Textdatei einliest. DAbei soll jede Zeile extra in ein Array gepackt werden, da ich aber die Länge vorher nicht kenne will ich eine Arraylist verwenden.

Auf jedenfall komme ich nicht mit der Initialisierung zurecht -> ich habe keine ahnung wie ich es machen kann   

Momentan wollte ich es mit List<String> list = new ArrayList<STring>(); machen, was aber nicht funktioniert wegen "Invalid Expression" etc. bei List.


----------



## Campino (20. Nov 2005)

bist du dir sicher dass Java das List als das Interface List aus java.util interpretiert und nicht versucht, die Klasse List aus java.awt zu verwenden. Versuch mal:


```
java.util.List<String> list=new ArrayList<String>();
```


----------



## Guest (20. Nov 2005)

leider bekomme ich auch dann den selben Fehler, auch mit Import hab ich es schon versucht.

"Invalid expression as statement"


----------



## L-ectron-X (20. Nov 2005)

java.util.* importieren und dann

```
List<String> list = new ArrayList<String>();
```

Edit: Hast du Java 1.5?

@Campino:

```
java.util.List<String> list = new java.util.ArrayList<String>();
```
Wenn, dann so. ^^  :wink: Sonst kennt der Compiler ArrayList nicht.


----------



## Guest (20. Nov 2005)

flugs mal nachgeschaut, ich dachte schon - scheinbar ist es aber doch nur java 1.4.2 x .

Ich werde dann mal 1.5 installieren, und melde mich dann nochmal. BTW: gäbe es alternative Wege die auch mit 1.4 funktionieren würden?


----------



## Guest (20. Nov 2005)

ok, jetzt hab ich 1.5 drauf, und eclipse nimmt jetzt auch diese klassenbibliothek. Leider ist das Problem aber dennoch nicht weg.  :cry:


----------



## L-ectron-X (20. Nov 2005)

Unter Java 1.4.x siehts dann so aus:

```
List list = new ArrayList()
```
Dann muss allerdings gecastet werden, wenn Objekte aus der ArrayList geholt werden.
Und wenn du nur Strings in deiner List einfügen willst, kannst du vorher mit _instanceof_ auf einen String prüfen.

Edit:

```
public class JavaVersion {
   public static void main(String[] args) {
      System.out.println("Java Version: "+System.getProperty("java.version"));
   }
}
```
Kompiliere mal dieses Programm und schau mal, welche Version (zumindest der Interpreter) Eclipse verwendet.


----------



## Guest (20. Nov 2005)

```
public static String[] readFile () /*throws IOException*/{
		
		BufferedReader read;
		
		try {
		
		read = new BufferedReader(new FileReader("vatsim.txt"));
		ArrayList zeilen  = new java.util.ArrayList(); 
		String aktuelleZeile = null;
		while (null!= (aktuelleZeile = read.readLine())){
			
			zeilen.add(aktuelleZeile);
			}
		
		read.close();
		
		
		}
		catch (FileNotFoundException ef){
				System.out.println("Fehler - "+ ef);
				}
		catch (IOException e){
			System.out.println ("Fehler - "+ e);
		}
						
	}
```

Ich hab das jetzt soweit gebracht...
Auf jeden Fall hat jetzt aber die Arraylist nur Objecte als Inhalt, jetzt möchte ich aber ein Array mit STrings daraus machen. toArray funktioniert dann aber ja nicht mehr - wie mache ich dann den typecast oder etwas ähnliches?


----------



## L-ectron-X (20. Nov 2005)

Eine Datei in ein Array/ArrayList einlesen hatten wir schon mal: http://www.java-forum.org/de/viewtopic.php?t=21108


----------



## Guest (20. Nov 2005)

sry, L-Ectron, hatte dein edit übersehen:

Java Version: 1.5.0_02 sagt er mir dann, was ja eigentlich stimmen müsste, dennoch funktioniert nur der java 1.4.2 weg  :cry:


----------



## L-ectron-X (20. Nov 2005)

Das Programm gibt aber nur die Version des Interpreters aus.
Ich kenne mich leider mit Eclipse nicht aus. Im Forum gabs das Problem, Java 1.5 in Eclipse zu verwenden, aber schon häufiger. Mit der Forumsuche findest du bestimmt die richtigen Threads.
Meiner Meinung nach liegt es nur an der verkehrten Einbindung des Java-Compilers.


----------

