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 size
zostanie 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 .. 20 jeśli liczba jest podzielna przez 2 bez 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 .. 20 jeśli liczba jest podzielna przez 2 brak 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 . 20 Jeś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 4 bez reszty: a) usuń element b) zmniejsz licznik i tak, 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 , ... 20 n = 10 n - 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