Î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 AndroidDacă 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
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