Wie lösche ich bei einer Arraylist ein bestimmtes Element in java?
Hi, ich gehe eine ArrayList mit einer Shcleife durch, bei einem Objekt stoppe ich, dieses will ich löschen, wie tue ich das?
2 Antworten
Mit
deineListe.remove(index)
kannst du ein Element an einem bestimmten Index entfernen.
Das solltest du aber nicht machen, während du gerade über dieselbe Liste iterierst. Das führt zu Fehlern. Stattdessen sollte man einen Iterator oder eine Kopie des Arrays zum Iterieren verwenden. Hier findest du einige Beispiele:
https://stackoverflow.com/questions/1196586/calling-remove-in-foreach-loop-in-java
Falls du nur über die Liste iterierst um bestimmte Elemente zu entfernen solltest du
deineListe.removeIf(e -> e.eigenschaft == ...)
verwenden.
In deiner Frage steht ganz klar ArrayList... Haste dich wohl vertan oder?
Aber auch bei List gibt es .remove(). Siehe https://docs.oracle.com/javase/8/docs/api/java/util/List.html . Macht also keinen Unterschied, geht alles wie in meiner Antwort beschrieben.
Danke, ja habe mich vertan.
Aber kann ich da dann einfach das Element einfügen? Das gerade bei der Shcleife durchgeht?
Sorry hat sich gekärt. Ich meinte ob ich remove(objekt) machen kann, aber geht ja.
Rückwärts durchlaufen zum Beispiel. Und dann mit remove () oder delete () löschen.
ja das eine element löschen , auch für das wird diese methode geben .
Okay danke, aber ich habe eine List und keine Arraylist leider