Cum se utilizează un Java ArrayList

Cum se utilizează un Java ArrayList

În Java ArrayList este o matrice de dimensiuni generale. Oferă majoritatea facilităților, în general, așteptate de matrici în alte limbi. Acestea includ: accesarea elementelor folosind un index, adăugarea, eliminarea și actualizarea elementelor, redimensionarea dinamică, repetarea elementelor etc. Cele mai multe dintre aceste operațiuni au fost modificate special pentru uz general.





cum să părăsiți un chat de grup iphone

Există câteva alte tipuri de 'matrice' (clase care implementează Listă interfață, să fie tehnică) care sunt destinate unor scopuri speciale. Acestea includ:





  • LinkedList suportă inserarea și îndepărtarea rapidă la indicii intermediari.
  • Vector este similar cu un ArrayList dar este sincronizat și este potrivit în locul unui ArrayList pentru aplicații multi-thread.
  • Grămadă acceptă operații pentru imitarea unei liste de ultimul intrat-primul-ieșit. Se extinde Vector și, prin urmare, este sincronizat.

Aceste clase speciale sunt în afara scopului acestui articol. Cu toate acestea, veți învăța cum să configurați și să utilizați un Java ArrayList de uz general.





Crearea unei ArrayList

Crearea unui ArrayList este simplu. Un gol ArrayList poate fi creat utilizând constructorul fără argumente. Aici creăm un arraylist gol pentru păstrarea șirurilor.

ArrayList alist = new ArrayList();

Dacă se întâmplă să știți câte articole va conține lista dvs. de matrice, puteți specifica capacitatea inițială. Această capacitate inițială este doar un indiciu pentru alocarea memoriei - lista de liste nu este limitată la păstrarea numărului specificat de articole. Dacă cunoști și specifici capacitatea inițială, tu ar putea obțineți o ușoară îmbunătățire a performanței.



ArrayList alist = new ArrayList(20);

Popularea unui ArrayList

Adăugarea de articole la final

Popularea unui arraylist este destul de ușoară. Folosiți doar adăuga() metoda de a adăuga un singur articol la sfârșitul listei de arraylist. Iată un exemplu:

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]

Pentru a găsi câte articole există în lista de matrice, utilizați metoda mărimea() .





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

Adăugarea de articole la un index specificat

Doriți să adăugați un articol la un index arbitrar? Specificați indexul ca prim argument și elementul este adăugat la acel index:

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

Adăugarea unei grămezi de articole

Puteți adăuga elemente din orice colecție și în ierarhia colecțiilor Java. Un ArrayList este un tip specific numit Listă . Iată o modalitate de a construi un Listă dintr - o grămadă de articole (folosind Arrays.asList () ) și adăugați-l la un ArrayList .





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

Desigur, puteți specifica un index ca prim argument aici pentru a adăuga elementele care încep de la acel index.

Accesarea articolelor

Odată ce articolele au fost adăugate la lista de arraylers, cum le accesăm din nou?

Accesarea cu un index

Dacă cunoașteți indexul articolului, puteți utiliza fișierul obține() metoda de recuperare a elementului la acel index.

cea mai bună aplicație de studio de înregistrare pentru Android
String item = alist.get(2);
System.out.println('Item at index 2 is: ' + item);
# prints
Item at index 2 is: cantaloupe

Gasind obiecte

Ce se întâmplă dacă nu știți indexul articolului? Poți să folosești Index de() pentru a verifica dacă elementul este prezent în matrice și pentru a prelua articolul folosind indexul returnat.

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

Ce se întâmplă dacă articolul nu este prezent în lista de arraylers? The Index de() metoda returnează -1 când elementul nu este găsit.

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

Iterarea peste un ArrayList

Desigur, cea mai comună utilizare a unui ArrayList repetă elementele. Acest lucru poate fi realizat în mai multe moduri. Vă arătăm câteva simple aici.

Iată cel mai simplu mod de a itera peste un arraylist și de a extrage articolele pentru un fel de procesare.

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'

Acest cod folosește Java Enhanced For-Loop, care a fost introdus în Java 1.5. Înainte de aceasta, puteai itera peste elemente cu un iterator. Un iterator este, de asemenea, utilizat atunci când aveți nevoie elimina elemente în timpul procesului de iterație, după cum ilustrează exemplul de mai jos. (Rețineți că facem o copie a listei de arrail și lucrăm la copie.)

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'

Înlocuirea articolelor

Odată adăugate elemente, avem nevoie de o modalitate de a înlocui articolele nedorite. Acest lucru se poate face folosind a stabilit() metoda cu un index.

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

Eliminarea articolelor

Să vedem acum cum putem elimina articole dintr-un arraylist. Dacă știți indexul articolului (probabil ați folosit-o Index de() descris mai sus), puteți utiliza fișierul elimina() metoda cu indexul. Returnează elementul eliminat.

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

De asemenea, puteți specifica elementul de eliminat primul apariția elementului din listă. Metoda revine Adevărat dacă elementul a fost găsit și eliminat.

cum se mărește memoria video dedicată amd
fruit = 'grapes';
System.out.println('Remove ' +fruit+ ' from the list? ' + alist.remove(fruit));
# prints
Remove grapes from the list? true

Cum folosești ArrayList în proiectele tale și cu ce probleme speciale te-ai confruntat? Vă rugăm să ne anunțați în comentariile de mai jos.

Acțiune Acțiune Tweet E-mail Cum se accesează nivelul încorporat Google cu bule pe Android

Dacă ați avut vreodată nevoie să vă asigurați că ceva este la nivel într-o ciupire, acum puteți obține un nivel de bule pe telefonul dvs. în câteva secunde.

Citiți în continuare
Subiecte asemănătoare
  • Programare
  • Java
Despre autor Jay Sridhar(17 articole publicate) Mai multe de la Jay Sridhar

Aboneaza-te la newsletter-ul nostru

Alăturați-vă newsletter-ului pentru sfaturi tehnice, recenzii, cărți electronice gratuite și oferte exclusive!

Faceți clic aici pentru a vă abona