Come utilizzare un ArrayList Java

Come utilizzare un ArrayList Java

A Giava Lista di array è un array ridimensionabile di uso generale. Fornisce la maggior parte delle funzionalità generalmente previste dagli array in altre lingue. Questi includono: accesso agli elementi utilizzando un indice, aggiunta, rimozione e aggiornamento di elementi, ridimensionamento dinamico, iterazione sugli elementi, ecc. La maggior parte di queste operazioni sono state appositamente ottimizzate per l'uso generale.





perché il mio controller ps4 non funziona?

Ci sono alcuni altri tipi di 'array' (classi che implementano il Elenco interfaccia, per essere tecnico) che sono destinati a scopi speciali. Questi includono:





  • Lista collegata supporta l'inserimento e la rimozione rapidi agli indici intermedi.
  • Vettore è simile ad an Lista di array ma è sincronizzato ed è adatto al posto di an Lista di array per applicazioni multi-thread.
  • Pila supporta le operazioni per imitare un elenco last-in-first-out. estende il Vettore e quindi è sincronizzato.

Queste classi speciali non rientrano nell'ambito di questo articolo. Tuttavia, imparerai come impostare e utilizzare un Java ArrayList generico.





Creazione di un ArrayList

Creazione di un Lista di array è semplice. Un vuoto Lista di array può essere creato utilizzando il costruttore senza argomenti. Qui creiamo un arraylist vuoto per contenere le stringhe.

ArrayList alist = new ArrayList();

Se sai quanti elementi conterrà il tuo elenco di array, puoi specificare la capacità iniziale. Questa capacità iniziale è solo un suggerimento per l'allocazione della memoria: l'arraylist non è limitato a contenere il numero specificato di elementi. Se conosci e specifichi la capacità iniziale, potrebbe ottenere un leggero miglioramento delle prestazioni.



ArrayList alist = new ArrayList(20);

Popolamento di un ArrayList

Aggiunta di elementi alla fine

La compilazione di un arraylist è abbastanza semplice. Basta usare il Inserisci() metodo per aggiungere un singolo elemento alla fine dell'arraylist. Ecco un esempio:

ArrayList alist = new ArrayList();
alist.add('apple');
alist.add('banana');
alist.add('cantaloupe');
alist.add('orange');
System.out.println(alist);
# prints
[apple, banana, cantaloupe, orange]

Per trovare quanti elementi ci sono nell'arraylist, usa il metodo dimensione() .





System.out.println('Number of elements in the arraylist: ' + alist.size());
# prints
Number of elements in the arraylist: 4

Aggiunta di elementi a un indice specificato

Vuoi aggiungere un elemento a un indice arbitrario? Specificare l'indice come primo argomento e l'elemento viene aggiunto a quell'indice:

alist.add(3, 'grapes');
System.out.println(alist);
# prints
[apple, banana, cantaloupe, grapes, orange]

Aggiungere un mucchio di oggetti

Puoi aggiungere elementi da qualsiasi raccolta anche nella gerarchia delle raccolte Java. Un Lista di array è un tipo specifico chiamato Elenco . Ecco un modo per costruire a Elenco da un mucchio di elementi (usando Array.asList() ) e aggiungilo a an Lista di array .





List items = Arrays.asList('pear', 'cherry');
alist.addAll(items);
System.out.println(alist);
# prints
[apple, banana, cantaloupe, grapes, orange, pear, cherry]

Ovviamente, puoi specificare un indice come primo argomento qui per aggiungere gli elementi a partire da quell'indice.

Accesso agli oggetti

Una volta che gli elementi sono stati aggiunti all'arraylist, come possiamo accedervi nuovamente?

Accesso con un indice

Se conosci l'indice dell'articolo, puoi usare il ottenere() per recuperare l'elemento in quell'indice.

come dire dpi dell'immagine
String item = alist.get(2);
System.out.println('Item at index 2 is: ' + item);
# prints
Item at index 2 is: cantaloupe

Trovando gli oggetti

Cosa succede se non si conosce l'indice dell'articolo? Puoi usare indice di() per verificare se l'elemento è presente nell'array e recuperare l'elemento utilizzando l'indice restituito.

System.out.println(alist);
int index = alist.indexOf('orange');
if ( index <0 )
System.out.println('Item 'orange' not found');
else
System.out.println('Item 'orange' found at index ' + index);
# prints
[apple, banana, cantaloupe, grapes, orange, pear, cherry]
Item 'orange' found at index 4

Cosa succede se l'elemento non è presente nell'arraylist? Il indice di() il metodo restituisce -1 quando l'elemento non viene trovato.

index = alist.indexOf('grape');
if ( index <0 )
System.out.println('Item 'grape' not found');
else
System.out.println('Item 'grape' found at index ' + index);
# prints
Item 'grape' not found

Iterare su un ArrayList

Naturalmente, l'uso più comune di an Lista di array sta iterando sugli elementi. Questo può essere realizzato in diversi modi. Ne mostriamo un paio di semplici qui.

Ecco il modo più semplice per scorrere un arraylist ed estrarre gli elementi per un qualche tipo di elaborazione.

for (String fruit : alist) {
System.out.println('Found fruit '' + fruit + ''');
}
# prints
Found fruit 'apple'
Found fruit 'banana'
Found fruit 'cantaloupe'
Found fruit 'grapes'
Found fruit 'orange'
Found fruit 'pear'
Found fruit 'cherry'

Questo codice utilizza Java Enhanced For-Loop che è stato introdotto in Java 1.5. Prima di ciò, potevi scorrere gli elementi con un iteratore. Un iteratore viene utilizzato anche quando è necessario rimuovere elementi durante il processo di iterazione, come illustrato nell'esempio seguente. (Nota che facciamo una copia dell'arraylist e lavoriamo sulla copia.)

ArrayList blist = new ArrayList(alist);
for (Iterator iter = blist.iterator() ; iter.hasNext() ; ) {
String fruit = iter.next();
if ( fruit.startsWith('c') )
iter.remove();
else
System.out.println('Keeping '' + fruit + ''');
}
# prints
Keeping 'apple'
Keeping 'banana'
Keeping 'grapes'
Keeping 'orange'
Keeping 'pear'

Sostituzione di articoli

Una volta aggiunti gli elementi, abbiamo bisogno di un modo per sostituire gli elementi indesiderati. Questo può essere fatto usando il set() metodo con un indice.

alist.set(5, 'pineapple');
System.out.println(alist);
# prints
[apple, banana, cantaloupe, grapes, orange, pineapple, cherry]

Rimozione di oggetti

Vediamo ora come rimuovere elementi da un arraylist. Se conosci l'indice dell'oggetto (forse hai usato indice di() descritto sopra), è possibile utilizzare il rimuovere() metodo con l'indice. Restituisce l'elemento rimosso.

String fruit = alist.remove(2);
System.out.println('Removed element at 2: ' + fruit);
# prints
Removed element at 2: cantaloupe

Puoi anche specificare l'elemento da rimuovere primo occorrenza dell'elemento nella lista. Il metodo restituisce vero se l'elemento è stato trovato e rimosso.

come bloccare le richieste di gioco di Facebook
fruit = 'grapes';
System.out.println('Remove ' +fruit+ ' from the list? ' + alist.remove(fruit));
# prints
Remove grapes from the list? true

Come stai usando? Lista di array nei tuoi progetti e quali problemi speciali hai affrontato? Fatecelo sapere nei commenti qui sotto.

Condividere Condividere Tweet E-mail Come accedere alla livella a bolla integrata di Google su Android

Se hai mai avuto bisogno di assicurarti che qualcosa sia livellato in un pizzico, ora puoi ottenere una livella a bolla sul tuo telefono in pochi secondi.

Leggi Avanti
Argomenti correlati
  • Programmazione
  • Giava
Circa l'autore Jay Sridhar(17 Articoli Pubblicati) Altro da Jay Sridhar

Iscriviti alla nostra Newsletter

Iscriviti alla nostra newsletter per consigli tecnici, recensioni, ebook gratuiti e offerte esclusive!

Clicca qui per iscriverti