array zur Laufzeit füllen

stephanfeltel

Grünschnabel
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...
 
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.

Code:
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
 
@Thomas,
super, besten Dank.
ich hab es mir der
String[] sA = fillArray();-->vARIANTE GEMACHT

einwandfrei....
Danke und einen schönen Tag noch...
 
Zurück