Jak pokazano na obrazku, po pewnym czasie uruchomić metodę, chcę usunąć stare przedmioty i przygotować do następnej kalkulacji czasu, ale zastanawiam się, jak usunąć elementy w arraylist start ze wskazanego indeksu, podobnie jak kolejka, przestrzegaj algorytmu FIFO? Jak usunąć elementy z listy na liście startowej ze wskazanego indeksu
Odpowiedz
Można użyć List#subList(int, int):
List<Integer> list = ...
list = list.subList(10, list.size()); // creates a new list from the old starting from the 10th element
lub od subList
tworzy widok na której każda zmiana wpływa na oryginalne listy, może to być nawet lepiej:
List<Integer> list = ...
list.subList(0, 10).clear(); // clears the first 10 elements of list
Kiedy używam "purchase = (ArrayList
Logika jest poprawna, ale po prostu przyjdź z błędem – atom2ueki
@ atom2ueki nie używaj 'ArrayList' jako typu zmienna, użyj 'List' tak jak to zrobiłem z' list' w mojej odpowiedzi – Katona
Po prostu użyj do tego metody remove().
Załóżmy, że chcesz usunąć elementy z indeksami od 20 do 30 z ArrayList
:
ArrayList<String> list = ...
for (int i = 0; i < 10; i++) { // 30 - 20 = 10
list.remove(20);
}
Gdy pierwszy element o indeksie 20
usuwa elementowi 21
przenosi się do indeksu 20
. Musisz usunąć 10-krotnie element z indeksu 20
, aby usunąć kolejne 10 elementów.
twoja metoda wydaje się tylko usunąć 20. element – atom2ueki
Czy przeczytałeś zdanie poniżej kodu? Na liście tablic nie ma "dziur". Jeśli usuniesz element o indeksie 20, następny element zostanie przeniesiony do tego indeksu. – micha
Myślę, że łatwiej byłoby nie być w stanie, jeśli pętla wstecz od 30 do 20. I użyj 'list.remove (i)' – mike
Ponieważ nie piszesz aplikacji o wysokiej wydajności, złym stylem jest przechowywanie tak dużej ilości semantyki w zmiennej indeksowej.
Lepszym rozwiązaniem byłoby użycie mapy.
E. g. Map<Item, Integer> itemStock
i Map<Item, Double> prices
. Wtedy też nie miałbyś żadnych problemów z operacją usuwania.
, ale jeśli korzystasz z mapy, nadal potrzebuję identyfikatora dla każdej mapy, czy ma taką samą listę tutaj? przepraszam, nie rozumiem, co masz na myśli. – atom2ueki
Mapy nie działają z indeksami, działają z kluczami. Klucze są obiektami, to jest to, co można zrobić w OOP, łatwiej jest zachować kod z identyfikatorami niż utrzymywać kody, w których liczby całkowite mają znaczenie wykraczające poza samą liczbę. Powinieneś napisać klasę "Przedmiot" lub coś takiego. w ten sposób i użyć go jako klucza do mapy. – mike
- 1. Usuń wybrane elementy z listy na liście
- 2. Usunąć wszystkie elementy z listy po określonym indeksie
- 3. Jak usunąć elementy z listy z lambda na podstawie innej listy
- 4. Metoda listy, aby usunąć ostatni element na liście, a także wszystkie elementy
- 5. Jak przenosić elementy listy?
- 6. usuwa elementy z jednej listy znajdującej się na innej liście
- 7. Jak usunąć zduplikowane elementy z listy za pomocą apache prędkość
- 8. Jak usunąć dzielnik z listy na Androida?
- 9. Jak grupować podobne elementy na liście?
- 10. Odnajdywanie wartości indeksu najmniejszej liczby na liście?
- 11. Jak usunąć element z listy w J według indeksu?
- 12. Python: usunąć słownik z listy
- 13. Policz wszystkie elementy na liście arbitralnie zagnieżdżonej listy bez rekurencji
- 14. Obsada listy Wyświetl elementy na liście <string>?
- 15. Jak usunąć z listy map DynamoDB, według wartości atrybutu Mapa na tej liście?
- 16. Zrozumienie listy łączące co dwa elementy razem na liście
- 17. linux/list.h - Jak bezpiecznie usunąć elementy z listy?
- 18. Jak usunąć elementy z widoku listy JQUERY mobile
- 19. Jak bezpiecznie usunąć elementy z listy w Pythonie
- 20. Jak usunąć istniejące elementy listy rozwijanej, gdy zmienia się zawartość?
- 21. Kwadratura wszystkie elementy na liście
- 22. Jak zdobyć elementy listy według indeksu w szablonie freemarker?
- 23. Jak usunąć elementy z drzewa
- 24. Usuń pozycje z listy 1 nie ma na liście 2
- 25. Jak usunąć elementy z listy tablicy/elemencie że mają 2 wspólne elementy
- 26. Jak przyciąć wszystkie elementy na liście?
- 27. Jak usunąć elementy z macierzy?
- 28. Jak usunąć plik z listy zmian subversion?
- 29. Wyszukiwanie indeksu elementu na liście Scala
- 30. Jak usunąć pusty ciąg na liście?
@Katona :) idę żeby to przeczytać, nadzieje mogą znaleźć rozwiązanie – atom2ueki
w międzyczasie udało mi się sfabrykować krótką odpowiedź również – Katona