# Array List ausgeben



## MisterX (21. Jan 2012)

Hallo, ich habe das Problem das ich die ArrayList nicht mehr ausgeben kann.



```
ArrayList<beispiel> bsp = new ArrayList<beispiel>();
Person eins = new Person(2, 4));

bsp.add(eins);

for(Iterator <Person> it = bsp.iterator(); it.hasNext();)
System.out.println(it.next().toString());
```

Hier wir mir nur Person@12dqqwe angezeigt.

Wie kann ich denn die Werte 2 und 4 von dem Objekt ein wieder einfach auslesen?

Ein Schnippsel würde mir aus zeitgründen gerade helfen.
:applaus:


----------



## eRaaaa (21. Jan 2012)

schreibe dir in deiner Person Klasse einen getter und rufe diesen auf? Oder überschreibe eben toString() !
Lese dazu auch:
Galileo Computing :: Java ist auch eine Insel - 8 Besondere Klassen der Java SE

[edit]
Als Ergänzung zu Camino: Noch besser wäre, wenn man sich gleich List<Person> angewöhnt!
[/edit]


----------



## Camino (21. Jan 2012)

1.) Du solltest ArrayList<Person> nehmen, wenn du der ArrayList Objekte der Klasse Person hinzufügen möchtest.

2.) Wenn du dann die ArrayList durchgehen möchtest, kannst du das z.B. so machen:

```
for(Person p : liste){
System.out.println(p.getName());
}
```


----------



## MisterX (21. Jan 2012)

Ok.

Ich habe mich nicht ganz deutlich ausgedrückt. Ich möchte die bsp nach dem Geburtsdatum sortieren und anschließend die Datensätze auslesen. Also Person an erster Stelle, Wert 1 , Wert 2....


----------



## Final_Striker (21. Jan 2012)

MisterX hat gesagt.:


> Ok.
> 
> Ich habe mich nicht ganz deutlich ausgedrückt. Ich möchte die bsp nach dem Geburtsdatum sortieren und anschließend die Datensätze auslesen. Also Person an erster Stelle, Wert 1 , Wert 2....



Das musst du dir noch einen Comparator schreiben:
Galileo Computing :: Java ist auch eine Insel - 8 Besondere Klassen der Java SE


----------



## MisterX (21. Jan 2012)

Ok.

Aber wie komme ich an die einzelnen Positionen dran?

Wenn ich zum Beispiel an die 2. Spalte ran wo ich den Namen brauche?


----------



## eRaaaa (21. Jan 2012)

Liest du eig. auch Beiträge? Oder guckst du dir nur Beiträge an wo Code steht? ....schreibe dir getter-Methoden!


----------



## MisterX (21. Jan 2012)

Als Anfänger ist es nicht immer einfach. Momentan brauche ich Code.
Mir fehlt einfach das Grundverständnis. Mit Code gehts halt einfacher.
Es ist nicht immer geholfen wenn jemand sag: schalt halt in den fünften gang wenn man
bisher immer automatik gefahren ist. 
sorry, wenn ich zu doof bin.


----------



## xerox2204 (21. Jan 2012)

Wenn du dir die Beiträge der anderen Leute hier durchlesen würdest dann wäre dein Problem schon längst gelöst.


----------



## Camino (21. Jan 2012)

Deine Klasse hat Variablen wie Vorname, Nachname und Geburtsdatum. Auf die greifst du nicht direkt drauf zu, sondern mit getter- und setter-Methoden. D.h. wenn du z.B. den Nachnamen auslesen möchtest, machst du das mit der Methode getNachname, welche dir den String nachname zurückliefert.


----------



## MisterX (21. Jan 2012)

Ok.
Ich habe diese ArrayList und gebe Sie nun mit dem Iterator aus.

```
for(Iterator <Person> it = sw.iterator(); it.hasNext();) {
				System.out.println(it.next().toString());
				
			}
```

Hier muss ich jetzt um an das Objekt ranzukommen eine GetMethode verwenden?


----------



## Final_Striker (21. Jan 2012)

MisterX hat gesagt.:


> Mir fehlt einfach das Grundverständnis. Mit Code gehts halt einfacher.




```
public class Person {

	private String name;

	public Person(String name) { // Konstruktor
		super();
		this.name = name;
	}

	public String getName() { // Getter
		return name;
	}
 
	public void setName(String name) { // Setter
		this.name = name;
	}
	
	public static void main(String[] args) {
		
		List<Person> liste = new ArrayList<Person>();
		liste.add(new Person("Max"));
		liste.add(new Person("Peter"));
		
		for (Person person : liste) {
			System.out.println(person.getName()); // Name der Personen ausgeben
		}
	}
}
```


----------



## Camino (21. Jan 2012)

Du solltest in deiner Klasse Person Methoden erstellen, mit denen du die Variablen setzen (setter) und auslesen (getter) kannst. Wenn du dann eine Person p mit new Person() erstellt hast, kannst du mit p.setNachname("Müller") den Nachnamen setzen, und mit p.getNachname() den Nachnamen wieder auslesen.


----------



## MisterX (21. Jan 2012)

ok.

Vielen Dank an alle.


----------

