# array zur Laufzeit füllen



## stephanfeltel (19. August 2004)

mahlzeit Leute,

ich hab ein kleines Problem. Ich kann ja in Java die Größe eines Arrays zur Laufzeit bestimmen. Aber:
Mein Problem, ich möchte mit einer Funktion ein gefülltes Array erzeugen.

Pseudocode: 
funktion mache_und_fülle_array(){
  neues array[] für Strings
  solange ich einen String einlese --> diesen in Array packen.
  wenn kein String mehr kommt, array Returnen
}


habt ihr ne Idee, wie das genau in Java zu realisieren ist?
PS: ICh brauch ein Array, also bitte keine Lösung mit Listen oder ähnlichem...
Vielen Dank für eure Hilfe...


----------



## Thomas Darimont (19. August 2004)

Hallo!

Hier mal zwei mögliche Lösungsideen, wobei eine von beiden doch mit einer List arbeitet, jedoch wird, wie du sehen wirst, ein Array zurück gegeben.


```
import java.util.ArrayList;
import java.util.Arrays;
import java.util.List;
import java.util.StringTokenizer;

public class FillArray {
	public static void main(String[] args) {
		String[] sA =  fillArray();
		Object[] sA1 = fillArray2();
		
		System.out.println(Arrays.asList(sA));
		System.out.println(Arrays.asList(sA1));
	}

	/**
	 * @return
	 */
	private static Object[] fillArray2() {
		
		List list = new ArrayList();
		
		//alle Zeilen in die Liste einlesen...
		list.add("ABC");
		list.add("DEF");
		list.add("GHI");
		
		//Liste zurückgeben		
		return (Object[])list.toArray();
	}

	/**
	 * @return
	 */
	private static String[] fillArray() {
		
		//Datei komplett einlesen
		//...
		String fileContent = "ABC\nDEF\nGHI\nJKL\nMNI\nPQR";
		
		StringTokenizer stringTokenizer = new StringTokenizer(fileContent);
		String[] sA = new String[stringTokenizer.countTokens()];
		
		int i = 0;
		while(stringTokenizer.hasMoreElements()){
			sA[i++] = (String) stringTokenizer.nextElement();
		}
		
		return sA;
	}
}
```

Gruß Tom


----------



## stephanfeltel (19. August 2004)

@Thomas,
super, besten Dank.
ich hab es mir der 
String[] sA =  fillArray();-->vARIANTE GEMACHT

 einwandfrei....
Danke und einen schönen Tag noch...


----------

