1. Aggiunta di un elemento al centro (o all'inizio) di un elenco
Se vogliamo inserire un elemento al centro della lista, ecco cosa succede all'interno della lista.
Supponiamo di avere una lista di 11 elementi:
Vogliamo inserire il numero 10.000 nella lista all'indice 5. Per fare ciò, dobbiamo solo eseguire:
list.add(5, 10000);
Dove list
è una ArrayList
variabile. Il add(int index, type value)
metodo aggiunge il valore 10000 alla posizione 5 nell'elenco. Ecco cosa succede nel add()
metodo:
Passaggio 1: tutti gli elementi dell'array, a partire dalla quinta posizione, verranno spostati (copiati) di 1 elemento verso la fine dell'array:
Si noti che gli elementi nella quinta e nella sesta cella dell'array ora sono gli stessi.
Passaggio 2: scrivi il valore 10.000 nella quinta cella:
Ora l'elenco contiene tutti gli elementi dell'array e la quinta cella contiene il numero 10.000. Proprio quello che volevamo.
2. Rimozione di un elemento da un elenco
La rimozione di un elemento da un elenco è simile all'inserimento, ma il processo è inverso.
Rimuoviamo il terzo elemento da un elenco. Per fare ciò, dobbiamo eseguire:
list.remove(3);
Ecco cosa succede nel metodo remove():
Passaggio 1: gli elementi dell'array, a partire dalla 4a posizione, verranno spostati (copiati) di 1 elemento verso l'inizio dell'array:
Passaggio 2: il valore della size
variabile verrà ridotto di 1.
Si noti che alcuni valori sono colorati in grigio alla fine dell'array. Tecnicamente, questi sono spazzatura. Devono essere rimossi per non interferire con la raccolta dei rifiuti .
Passaggio 3: ripulire la spazzatura
3. Esempi pratici di utilizzo di un elenco in Java
Scriviamo alcuni esempi di lavoro con le liste:
Elencheremo tutti i numeri pari nell'intervallo da 1 a 20:
Codice | Appunti |
---|---|
|
Crea un oggetto elenco Passa su tutti gli indici 1 a 20 Se l'indice è divisibile per 2 senza resto, aggiungilo all'elenco |
Ora visualizziamo sullo schermo tutti gli elementi della lista:
Codice | Appunti |
---|---|
|
Crea un oggetto elenco Ripeti su tutti gli indici 1 fino a 20 Se il numero è divisibile per 2 senza resto, aggiungilo all'elenco Ripeti da zero alla dimensione dell'elenco Visualizza ogni elemento sullo schermo |
Rimozione di elementi:
Ora rimuoviamo tutti gli elementi divisibili per 4. Si noti che dopo aver rimosso un elemento dall'elenco, le posizioni degli elementi rimanenti cambiano immediatamente.
Codice | Appunti |
---|---|
|
Crea un oggetto lista Ripeti su tutti gli indici 1 a 20 Se l'indice è divisibile per 2 senza resto, aggiungilo alla lista Ripeti da zero alla dimensione della lista Se un elemento della lista è divisibile 4 senza resto: a) rimuovi l'elemento b) diminuisce il i contatore in modo da ottenere lo stesso indice alla successiva iterazione del ciclo |
Diciamo che devi rimuovere gli ultimi 3 elementi da un elenco.
Ecco come farlo in modo errato:
Codice | Appunti |
---|---|
|
Crea un oggetto lista La lista ha 10 elementi: 2 , 4 , 6 , ... 20 n = 10 n - 3 = 7 (ci sono 9 elementi rimasti nella lista) n - 2 = 8 (ci sono 8 elementi rimasti nella lista) n - 1 = 9 (ci sono 7 elementi rimasti nella lista) |
Dopo aver rimosso il 7° e l'8° elemento, nell'elenco rimarranno solo 8 elementi. Ciò significa che non sarà possibile eliminare il nono elemento: si verificherà un errore nel programma.
Ecco il modo giusto per rimuovere gli elementi:
opzione 1 | opzione 2 |
---|---|
|
|
Gli elementi devono essere rimossi dall'estremità o da un'altra posizione coerente, poiché gli elementi vengono spostati di uno dopo ogni operazione di rimozione.
GO TO FULL VERSION