# Array Daten anhängen



## Seppe123 (1. Mai 2010)

Hallo

Wie kann ich einem vorhandenem Array Daten anhängen? Habe gehört es gibt eine Attemp Funktion?

Das Array ist in einer externen Datei ausgelagert. Daher wäre es sinnvoll, wenn bei der Speicherung nicht die alten Daten verloren gehen 


DANKE


----------



## Final_Striker (1. Mai 2010)

Wie wäre es mit:

-Array einlesen
-in ein größeres Array um kopieren
-Daten hinzufügen
-wieder speichern


----------



## Ark (1. Mai 2010)

Das Anhängen an eine Datei hat ungefähr nichts mit dem Vergrößern eines Arrays zu tun (auf einer gewissen Ebene, versteht sich).

Das Anhängen an eine Datei ist vergleichsweise simpel, man beachte hierzu die Konstruktoren von FileInputStream und Konsorten.

Bei einem Array muss anders vorgegangen werden, weil es nicht nachträglich in der Größe verändert werden kann. Hier muss man tatsächlich erst ein neues Array anlegen, das hinreichend groß ist, und dann die Daten umkopieren. Für diese Zwecke gibt es aber auch schon Implementierungen wie ArrayList.

Ark


----------



## Seppe123 (1. Mai 2010)

Das mit dem Einlesen und dann umkopieren ist mir auch schon in den Sinn gekommen. Die Arraygröße ist nicht das Problem. Bekomme es nur nicht hin, dass er das alte einliest, das neue hinzufügt und dem "alten" Array übergibt.



Arraylist klingt gut. Aber wie nutze ich diese, wenn ich eine Klasse als Datentyp nehme und auf die einzelnen Datensätze zugreifen möchte? Das hinzufügen ist dort gut gelöst.


----------



## Ark (1. Mai 2010)

Tja, ich würde sagen, jetzt musst du schon mal etwas mehr Code zeigen. ^^

Ark


----------



## Seppe123 (1. Mai 2010)

```
public class Datensatz implements Serializable {

	/**
	 * 
	 */
	private static final long serialVersionUID = 1L;
	String Vorname, Nachname, Wohnort, Strasse, PLZ;

	public Datensatz(String Vorname, String Nachname, String Wohnort,
			String Strasse, String PLZ) {

		this.Vorname = Vorname;
		this.Nachname = Nachname;
		this.Wohnort = Wohnort;
		this.Strasse = Strasse;
		this.PLZ = PLZ;

	}
```


----------



## Antoras (1. Mai 2010)

```
List<Datensatz> l = new ArrayList<Datensatz>();

l.add(new Datensatz(...));

String vorname = l.get(index).getVorname();
```
Zum Laden eines Vornamens.
Und mit Code posten war wahrscheinlich gemeint, dass du den Code posten sollst, der nicht funktioniert, also den Code für das Umkopieren der Objekte.


----------



## Seppe123 (1. Mai 2010)

Da habe ich das falsch verstanden 
Da werde ich es mit der Arraylist mal versuchen.


DANKE:applaus:


----------



## Seppe123 (2. Mai 2010)

Eine kleine Farge noch zu den Arraylisten.

Wie kann ich eine vorhandene Liste durch eine neue ersetzen, welche aus der 2alten" Liste und den neuen Datensatz(sätze) besteht?


----------



## Wortraum (2. Mai 2010)

Indem Du in die Dokumentation schaust und Deine Aufmerksamkeit steigerst, sobald Du auf Methodennamen wie addAll stößt.  Der Methode kannst Du Objekte aus der Collections-API übergeben, also auch Listen.

Um eine Liste zu löschen, gibt es die Methode clear(). Aber wie gesagt, das steht alles in der Dokumentation.


----------



## Seppe123 (2. Mai 2010)

OK Super :-D


----------

