1. Tilføjelse af et element til midten (eller i begyndelsen) af en liste
Hvis vi ønsker at indsætte et element i midten af listen, er her, hvad der sker inde i listen.
Antag, at vi har en liste med 11 elementer:
Vi ønsker at indsætte tallet 10.000 i listen ved indeks 5. For at gøre dette skal vi blot udføre:
list.add(5, 10000);
Hvor list
er en ArrayList
variabel. Metoden add(int index, type value)
tilføjer værdien 10000 på position 5 i listen. Her er hvad der sker i add()
metoden:
Trin 1: Alle elementer i arrayet, startende fra den 5. position, vil blive flyttet (kopieret) med 1 element mod slutningen af arrayet:
Bemærk, at elementerne i 5. og 6. celle i arrayet nu er de samme.
Trin 2: Skriv værdien 10.000 i den 5. celle:
Nu indeholder listen alle elementerne i arrayet, og den femte celle indeholder tallet 10.000. Lige hvad vi ønskede.
2. Fjernelse af et element fra en liste
At fjerne et element fra en liste svarer til at indsætte det, men processen er omvendt.
Lad os fjerne det 3. element fra en liste. For at gøre dette skal vi udføre:
list.remove(3);
Her er, hvad der sker i remove()-metoden:
Trin 1: Elementerne i arrayet, startende fra den 4. position, vil blive flyttet (kopieret) med 1 element mod starten af arrayet:
Trin 2: Værdien af variablen size
vil blive reduceret med 1.
Bemærk venligst, at der er nogle værdier farvet grå i slutningen af arrayet. Teknisk set er disse skrald. De skal fjernes for ikke at forstyrre affaldsindsamlingen .
Trin 3: Oprydning af affald
3. Praktiske eksempler på arbejde med en liste i Java
Lad os skrive nogle eksempler på at arbejde med lister:
Vi viser alle de lige tal i området fra 1 til 20:
Kode | Noter |
---|---|
|
Opret et listeobjekt Loop over alle indekserne 1 til 20 Hvis indekset er deleligt med 2 uden en rest, føj det til listen |
Lad os nu vise alle elementerne i listen på skærmen:
Kode | Noter |
---|---|
|
Opret et listeobjekt Loop over alle indekserne 1 til 20 Hvis tallet er deleligt med 2 uden en rest, føj det til listen Loop fra nul til listens størrelse Vis hvert element på skærmen |
Fjernelse af elementer:
Lad os nu fjerne alle elementer, der er delelige med 4. Bemærk, at efter at have fjernet et element fra listen, ændres placeringen af de resterende elementer med det samme.
Kode | Noter |
---|---|
|
Opret et listeobjekt Loop over alle indekserne 1 til 20 Hvis indekset er deleligt med 2 uden en rest, tilføjes det til listen Loop fra nul til listens størrelse Hvis et element på listen er deleligt med 4 uden en rest: a) fjern elementet b) mindske i tælleren, så vi får samme indeks ved næste iteration af løkken |
Lad os sige, at du skal fjerne de sidste 3 elementer fra en liste.
Sådan gør du det forkert:
Kode | Noter |
---|---|
|
Opret et listeobjekt Listen har 10 elementer: 2 , 4 , 6 , ... 20 n = 10 n - 3 = 7 (der er 9 elementer tilbage på listen) n - 2 = 8 (der er 8 elementer tilbage på listen) n - 1 = 9 (der er 7 elementer tilbage på listen) |
Efter at have fjernet det 7. og 8. element, vil kun 8 elementer være tilbage på listen. Det betyder, at det ikke vil være muligt at slette det 9. element - der vil opstå en fejl i programmet.
Her er den rigtige måde at fjerne elementerne på:
Mulighed 1 | Mulighed 2 |
---|---|
|
|
Elementerne skal fjernes enten fra enden eller fra et andet ensartet sted, da elementerne bliver forskudt med én efter hver fjernelsesoperation.
GO TO FULL VERSION