# ArrayList leeren



## svennson (23. November 2008)

Hi,
ich hab an der Uni jetzt dieses Semester mit Java angefangen und habe diese beiden Funktionen geschrieben, welche etwas in eine ArrayList vom Typ JButton einfügen bzw. löschen sollen. Das Einfügen klappt auch, aber das Löschen leider nicht. Wäre nett wenn mir jemand sagen könnte woran es liegt, ich steh irgendwie aufm Schlauch...


```
public void setList(){
		for (int i = 0; i < 9; i++) {
			int zahl = i+1;
			ButtonList.add(new JButton("b"+zahl));
			//p1.add(new JButton("b"+zahl));
		}
		for (int i = 0; i < ButtonList.size(); i++) {
			p1.add(ButtonList.get(i));
		}
	}
	
	public void clearList(){
		for (int i = 0; i < ButtonList.size(); i++) {
			ButtonList.remove(i);
			p1.remove(ButtonList.get(i));
		}
	}
```

Desweiteren wollt ich noch fragen, ob es möglich ist, dass man Elemente aus der ArrayList in einer zufälligen Reihenfolge ausgibt?

MFG
Sven


----------



## Xandro (23. November 2008)

Moin,

wenn Du aus einer ArrayList was löschst, verkleinert sich deren Größe.
Das heißt also, Du müsstest andersrum entfernen.

Sowas wie:


```
while(arrayList.size() > 0) {
  arrayList.remove(0);
}
```

Ist ne schnelle und einfache Variante, auch wenn nicht unbedingt schön.

Aber:
ArrayList hat schon eine clear()-Methode, die alle Elemente löscht.
Vielleicht magst Du ja eher diese nehmen?

Gruß,
Xan


----------



## svennson (23. November 2008)

Hi,
das clear() ist genau das Richtige für mich^^ thnx


----------



## zeja (24. November 2008)

Sag bloß ihr programmiert an der Uni noch mit Java 1.4?

Eine zufällige Reihenfolge kannst du mittels 
Collections.shuffle(buttonList)
bekommen.

Das würfelt deine ganze Liste einmal durcheinander, danach kannst du dann alles wie gewohnt ausgeben.

Falls dus noch nicht kennst:
http://java.sun.com/javase/6/docs/api/
Unis vergessen das gerne mal zu erwähnen. Die API, dein Freund und Helfer.


----------

