1. Wstawienie elementu w środku (lub na początku) listy
Jeśli chcemy wstawić element na środku listy, dzieje się to wewnątrz listy.
Załóżmy, że mamy listę 11 elementów:

Chcemy wstawić liczbę 10 000 na listę pod numerem 5, w tym celu wystarczy uruchomić polecenie:
list.add(5, 10000);
Gdzie list jest zmienną typu ArrayList, metoda add(int index, тип value)dodaje wartość 10000 na pozycję 5 na liście. Oto, co dzieje się w metodzie add():
Krok 1: wszystkie elementy tablicy począwszy od piątego zostaną przesunięte (skopiowane) o 1 element na koniec tablicy:

Zauważ, że elementy w piątej i szóstej komórce tablicy są teraz takie same.
Krok 2: wpisujemy wartość 10 000 w piątej komórce:

Teraz lista zawiera wszystkie elementy tablicy, a piąta komórka zawiera liczbę 10 000. Tak jak chcieliśmy.
2. Usunięcie pozycji z listy
Operacja usunięcia elementu z listy jest podobna do jego wstawienia, tylko proces jest odwrotny.
Usuńmy element o indeksie 3 z listy, w tym celu musimy wykonać polecenie:
list.remove(3);
Oto, co dzieje się w metodzie remove():
Krok 1: elementy tablicy począwszy od czwartego zostaną przesunięte (skopiowane) o jedną pozycję bliżej początku tablicy:

Krok 2: Wartość zmiennej sizezostanie zmniejszona o 1.

Należy pamiętać, że na końcu tablicy, który jest zaznaczony na szaro, znajdują się pewne wartości. Technicznie to śmieci. Należy go usunąć, aby nie zakłócał procesu wyrzucania elementów bezużytecznych .
Krok 3: Usuń śmieci

3. Praktyczne przykłady pracy z listą w Javie
Napiszmy kilka przykładów pracy z listami:
Wypisz wszystkie liczby parzyste od 1 do 20:
| Kod | Notatki |
|---|---|
|
Tworzymy pętlę obiektu listy przez wszystkie liczby 1.. 20jeśli liczba jest podzielna przez 2bez reszty, dodaj ją do listy |
A teraz wyświetlimy wszystkie elementy listy na ekranie:
| Kod | Notatki |
|---|---|
|
Utwórz pętlę obiektu listy na wszystkich liczbach 1.. 20jeśli liczba jest podzielna przez 2brak reszty dodaj ją do pętli listy od zera do rozmiaru listy wyświetl każdy element na ekranie |
Usuwanie elementów:
Teraz usuńmy wszystkie elementy, które są podzielne przez 4. Zauważmy, że natychmiast po usunięciu jednego elementu z listy zmieniają się pozycje pozostałych elementów.
| Kod | Notatki |
|---|---|
|
Utwórz obiekt listy , aby przeglądać wszystkie liczby 1. 20Jeśli liczba nie dzieli się przez 2żadną resztę, dodaj ją do listy. przejdź od zera do rozmiaru listy, jeśli element listy jest podzielny przez 4bez reszty: a) usuń element b) zmniejsz licznik itak, aby przy następnej iteracji pętli ponownie dostać się do tego samego elementu |
Powiedzmy, że musisz usunąć ostatnie 3 elementy listy.
Jak zrobić to źle:
| Kod | Notatki |
|---|---|
|
Utwórz obiekt listy na liście 10 pozycji: 2, 4, 6, ... 20n = 10n - 3 = 7(9 pozycji pozostało na liście) n - 2 = 8(8 pozycji pozostało na liście) n - 1 = 9(7 pozycji pozostało na liście) |
Po usunięciu 7 i 8 elementów na liście pozostanie tylko 8 elementów. Dlatego nie można usunąć dziewiątego elementu - wystąpi błąd w programie.
Jak usunąć elementy:
| opcja 1 | Opcja 2 |
|---|---|
|
|
Elementy należy usunąć albo od końca, albo po prostu w tym samym miejscu, a po każdym usunięciu elementy zostaną przesunięte o jeden.
GO TO FULL VERSION