Minecraft Bukkit: ArrayList Size abfragen mit For schleife?

2 Antworten

Vom Fragesteller als hilfreich ausgezeichnet

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); } }
3

Danke :D

0

Inwiefern möchtest du das in einer Schleife verwenden?

Meinst du vllt.:

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

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

0

While- in For-Schleife umschreiben - JAVA

Hi, ich habe in einer Aufgabe ein Codefragment vorgegeben, dass ich in eine For-Schleife umschreiben soll. Bin Anfänger und wollte deshalb hier mal fragen, ob sich jemand mit JAVA auskennt und meine Lösung anschauen und ggf. korrigieren könnte... Wäre echt nett!

Hier die Vorgabe:

ArrayList<Rucksack> studentenRucksaecke = new ArrayList<Rucksack>();
        ...
        int pos = studentenRucksaecke.size();
        while (pos>=1) {
        pos--;
        studentenRucksaecke.get(pos).gewichtPruefen();
        }
 

(Leider werden "<>" in der Code-Formatierung als "&lt ;" dargestellt... Sorry.)

Meine Umschreibung in eine For-Schleife:

ArrayList<Rucksack> studentenRucksaecke = new ArrayList<Rucksack>();
...
for(int pos = studentenRucksaecke.size(); pos>=1; pos--){
    studentenRucksaecke.get(pos).gewichtPruefen();
}   
...zur Frage

Wie kann ich auf die ItemStacks in einer ArrayList zugreifen (und diese abfragen) [Minecraft, Plugins]?

Hallo,

ich habe über eine ArrayList nur ein Item (nehmen wir als Beispiel einen Diamenten) als ItemStack gespeichert. In dem Fall mit: public ArrayList test = new ArrayList();**

So nun will ich aber später auf diesen ItemStack in der Array zugreifen und mit einer if-Abfrage vergleichen. Wie kann ich diesen Diamanten aus der Liste "abrufen/rausholen"?

...zur Frage

Bukkit Plugin bei Minecraft: Was ist eine Hashmap und eine Arraylist?

...zur Frage

Minecraft Bukkit: Mauern wie bei Walls?

Wie kann ich solche Mauern erstellen wie bei Walls?
(Meine Lösung wäre mit Worldedit Wände zu erstellen und das dann auf einer Map die sich resettled(Würde ich auch schaffen))
Gibt es das eine bessere Lösung?

Und wie kann die dann wieder entfernen? :3 Mit ner for Schleife? Aber wie berechne ich dann diese Blöcke?

...zur Frage

Was möchtest Du wissen?