ArrayList leeren

svennson

Erfahrenes Mitglied
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...

Code:
          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
 
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:

Java:
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
 
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.
 
Zurück