So entfernen Sie Elemente in einer arraylist start von einem angegebenen index
Als auf dem Bild dargestellt, nach einer Zeit laufen, eine Methode, die ich wollen, entfernen Sie die alten Elemente, und vorbereitet für die nächste Zeit Berechnung, aber ich Frage mich, wie entfernen von Elementen in einer arraylist start von einem angegebenen index, wie eine queue, gehorchen FIFO-Algorithmus?
- ich gehe, um zu Lesen, dass Hoffnung eine Lösung finden können
- in der Zwischenzeit habe ich es geschafft fertigen Sie eine kurze Antwort als gut
Du musst angemeldet sein, um einen Kommentar abzugeben.
Können Sie Liste#Unterliste(int, int):
oder, da
subList
wird eine Sicht erstellt, auf dem jede änderung wirkt sich auf die original-Liste, vielleicht sogar noch besser:ArrayList
als den Typ der Variablen verwenden SieList
als ich mitlist
in meiner AntwortArrayList
ist eine Implementierung vonList
was passiert, das speichern der Elemente in einem array (das ist ein detail, das Sie nicht konfrontiert, wenn Sie die Schnittstelle). Lesen Sie mehr hier.Verwenden Sie einfach die entfernen() Methode für diese.
Nehmen wir an, Sie möchten, entfernen Sie die Elemente mit Indizes von 20 bis 30 von einer
ArrayList
:Sobald das erste element mit dem index
20
entfernt element21
bewegt index20
. So löschen Sie 10-mal das element mit dem index20
zu entfernen, die nächsten 10 Elemente.list.remove(i)
Da Sie schreiben keine high-performance-Anwendung ist es schlechter Stil, zu speichern, so viel Semantik in einer index-Variablen.
Ein besserer Ansatz wäre, die Nutzung einer Karte.
E. g.
Map<Item, Integer> itemStock
undMap<Item, Double> prices
. Dann wäre auch keine Probleme haben mit der remove-operation.Item
Klasse oder sth. wie und verwenden Sie es als Schlüssel zu einer Karte.