Minecraft Bukkit: ArrayList Size abfragen mit For schleife?

...komplette Frage anzeigen

2 Antworten

Okay, du hast eine Collection (z. B. eine List oder einen Array). Die Größe gibst du aus mit:

myList.size()

Willst du über jedes Element der Collection iterieren kannst du entweder eine for-Loop benutzten (falls du den Index brauchst):

for(int i = 0; i < myList.size(); i++){...}

Oder du benutzt die fast-iteration API wenn du keinen Index brauchst:

for(Player player : players) {...}

Hast du ein Player Objekt und willst es aus der Liste entfernen, kannst du das hier tun:

players.remove(player) 

Aber falls du z. B. nur die Player ID hast und den Player in der Liste erst finden musst und ihn gleichzeitig daraus entfernen willst, musst du die Collection von hinten nach vorne iteriern (da das Entfernen die Größe ändert und du sonst eine IndexOutOfBoundsException bekommst):

for(int i = players.size() - 1; i >= 0; i--) {
  Player player = players.get(i); if(playerId == player.id) { players.remove(player); } }

Danke :D

0

Inwiefern möchtest du das in einer Schleife verwenden?

Meinst du vllt.:

for(int i = 0; i < PlayerList.size(); i++){
//foo();
}

Also in der ArrayList werden alle Spieler gespeichert. Sobald einer siebt wird er removed. Und dann möchte ich im scoreboard leben
: xy

0

Was möchtest Du wissen?