Folosind ArrayList în Java

Matricile standard din Java sunt fixate în numărul de elemente pe care le pot avea. Dacă doriți să creșteți scăderea elementelor dintr-un tablou, trebuie să creați un nou tablou cu numărul corect de elemente din conținutul tabloului original. O alternativă este folosirea ArrayList clasă. ArrayList clasa oferă mijloacele de a realiza tablouri dinamice (adică, lungimea lor poate crește și scade).

Declarație de import

import java.util.ArrayList;

Creați o listă ArrayList

Un ArrayList poate fi creat folosind constructorul simplu:

ArrayList dinamicArray = new ArrayList ();

Acest lucru va crea un ArrayList cu o capacitate inițială pentru zece elemente. Dacă unul mai mare (sau mai mic) ArrayList este necesară capacitatea inițială poate fi transmisă constructorului. Pentru a crea spațiu pentru douăzeci de elemente:

ArrayList dinamicArray = new ArrayList (20);

Popularea ArrayList

Utilizați metoda de adăugare pentru a adăuga o valoare la ArrayList:

dynamicArray.add (10); dynamicArray.add (12); dynamicArray.add (20);

Notă: ArrayList stochează doar obiecte, deși liniile de mai sus par să adauge valori de int ArrayList se schimbă automat la Întreg obiecte pe măsură ce sunt anexate la ArrayList.

Un tablou standard poate fi utilizat pentru a popula un an ArrayList prin transformarea ei într-o colecție List utilizând metoda Arrays.asList și adăugând-o la ArrayList folosind adaugă totul metodă:

String [] names = "Bob", "George", "Henry", "Declan", "Peter", "Steven"; ArrayList dinamicStringArray = new ArrayList (20); dynamicStringArray.addAll (Arrays.asList (nume));

Un lucru de remarcat ArrayList elementele nu trebuie să fie de același tip de obiect. Chiar dacă dynamicStringArray a fost populat de obiecte String, totuși poate accepta valori de număr:

dynamicStringArray.add (456);

Pentru a reduce riscul de erori, este mai bine să specificați tipul de obiecte pe care doriți ArrayList a conține. Acest lucru poate fi realizat în faza de creare folosind generice:

ArrayList dinamicStringArray = new ArrayList (20);