1. Lägga till ett element i mitten (eller i början) av en lista
Om vi vill infoga ett element i mitten av listan, här är vad som händer i listan.
Anta att vi har en lista med 11 element:
Vi vill infoga siffran 10 000 i listan vid index 5. För att göra detta behöver vi bara köra:
list.add(5, 10000);
Var list
finns en ArrayList
variabel. Metoden add(int index, type value)
lägger till värdet 10000 vid position 5 i listan. Så här händer i add()
metoden:
Steg 1: Alla element i arrayen, från den 5:e positionen, kommer att flyttas (kopieras) med 1 element mot slutet av arrayen:
Observera att elementen i den 5:e och 6:e cellen i arrayen nu är desamma.
Steg 2: Skriv värdet 10 000 i den femte cellen:
Nu innehåller listan alla element i arrayen, och den femte cellen innehåller talet 10 000. Precis vad vi ville ha.
2. Ta bort ett element från en lista
Att ta bort ett element från en lista liknar att infoga det, men processen är omvänd.
Låt oss ta bort det tredje elementet från en lista. För att göra detta måste vi köra:
list.remove(3);
Så här händer i remove()-metoden:
Steg 1: Elementen i arrayen, med start från den 4:e positionen, kommer att flyttas (kopieras) med 1 element mot början av arrayen:
Steg 2: Variabelns värde size
kommer att minskas med 1.
Observera att det finns några värden som är färgade grå i slutet av arrayen. Tekniskt sett är dessa skräp. De måste tas bort för att inte störa sophämtningen .
Steg 3: Rensa sopor
3. Praktiska exempel på att arbeta med en lista i Java
Låt oss skriva några exempel på hur man arbetar med listor:
Vi listar alla jämna tal i intervallet 1 till 20:
Koda | Anteckningar |
---|---|
|
Skapa ett listobjekt Slinga över alla index 1 till 20 Om indexet är delbart med 2 utan rest, lägg till det i listan |
Låt oss nu visa alla element i listan på skärmen:
Koda | Anteckningar |
---|---|
|
Skapa ett listobjekt Slinga över alla index 1 till 20 Om talet är delbart med 2 utan rest, lägg till det i listan Slinga från noll till listans storlek Visa varje element på skärmen |
Ta bort element:
Låt oss nu ta bort alla element som är delbara med 4. Observera att efter att ha tagit bort ett element från listan ändras positionerna för de återstående elementen omedelbart.
Koda | Anteckningar |
---|---|
|
Skapa ett listobjekt Slinga över alla index 1 till 20 Om indexet är delbart med 2 utan rest, lägg till det i listan Slinga från noll till listans storlek Om ett element i listan är delbart med 4 utan rest: a) ta bort elementet b) minska i räknaren så att vi får samma index vid nästa iteration av slingan |
Låt oss säga att du måste ta bort de tre sista elementen från en lista.
Så här gör du det felaktigt:
Koda | Anteckningar |
---|---|
|
Skapa ett listobjekt Listan har 10 element: 2 , 4 , 6 , ... 20 n = 10 n - 3 = 7 (det finns 9 element kvar i listan) n - 2 = 8 (det finns 8 element kvar i listan) n - 1 = 9 (det finns 7 element kvar i listan) |
Efter att ha tagit bort det 7:e och 8:e elementet kommer endast 8 element att finnas kvar i listan. Det betyder att det inte kommer att vara möjligt att ta bort det 9:e elementet - ett fel kommer att uppstå i programmet.
Så här tar du bort elementen på rätt sätt:
Alternativ 1 | Alternativ 2 |
---|---|
|
|
Elementen måste tas bort antingen från slutet eller från en annan konsekvent plats, eftersom elementen förskjuts med ett efter varje borttagningsoperation.
GO TO FULL VERSION