ArrayList în Java: o introducere pentru începători [2022]
Publicat: 2022-11-22O matrice este o structură de date răspândită și esențială în fiecare limbaj de programare, cu un dezavantaj - dimensiunea sa este fixă. Să vedem cum poate ajuta ArrayList în Java în acest sens.
O matrice poate fi de două tipuri: o matrice statică sau o matrice dinamică. O matrice nu poate fi mărită dinamic în limbaje de programare precum Java. În schimb, dimensiunea matricei este declarată în timpul inițializării matricei. Dar, în multe cazuri, acest lucru poate duce la multe probleme. Pentru a rezolva această problemă, în Java sunt folosite ArrayLists. Dimensiunea matricei crește automat atunci când un element este împins într-o ArrayList.
În acest articol, veți afla despre ArrayLists în Java. Veți înțelege diferența de bază dintre Array și ArrayList și, de asemenea, veți afla despre diferitele tipuri de ArrayLists și despre cum să le utilizați.
Array vs. ArrayList
Diferența principală dintre un Array și un ArrayList este că dimensiunea unui Array este statică, dar o dimensiune ArrayList poate fi dinamică. Deoarece o matrice este fixă, timpul de iterare a matricei durează mai puțin decât o matrice dinamică.
Mai sunt și câteva diferențe între ele.
- O matrice statică poate fi unică sau multidimensională, dar o ArrayList poate fi doar unidimensională.
- Un Array este o structură de date primitivă disponibilă în Java. Dar un ArrayList este o parte a unui Collection Framework API în Java. Este construit pe deasupra Arrays.
- Puteți declara matrice cu tipuri de date primitive. Tipurile de date primitive nu pot fi utilizate într-o ArrayList. Dacă doriți să utilizați un tip de date primitiv, va trebui să utilizați clasa wrapper corespunzătoare tipului de date.
Tipuri de ArrayLists în Java
ArrayLists pot fi de orice tip. Dar va trebui să treceți clasa wrapper corespunzătoare, deoarece nu puteți trece tipuri de date primitive într-o ArrayList.
Puteți adăuga tipuri de date simple, cum ar fi tipuri întregi sau șir de caractere, trecând clase wrapper precum Integer
sau String
.
De asemenea, puteți trece în tipuri complexe, cum ar fi ArrayLists de ArrayLists, hashmaps etc.
Să aruncăm o privire la un exemplu de utilizare a unei clase personalizate în cadrul unui ArrayList.
import java.util.ArrayList; class User { private String name; private int age; public User(String name, int age) { this.name = name; this.age = age; } public void getUser() { System.out.println("Name: " + name + " Age: " + age); } } class Main { public static void main(String[] args) { ArrayList<User> users = new ArrayList<>(); users.add(new User("Subha", 25)); users.add(new User("Dan", 32)); users.forEach(user -> { user.getUser(); }); } } Output: Name: Subha Age: 25 Name: Dan Age: 32
În exemplul de cod de mai sus, este creată o ArrayList de tip User
. Veți afla mai multe despre metodele utilizate în exemplul de mai jos.
Crearea unei ArrayList în Java
Ați înțeles deja elementele de bază ale unui ArrayList în Java. Acum să aruncăm o privire la sintaxa unui ArrayList și, după aceasta, vom vedea și cum poate fi folosită în codul Java.
ArrayList<Type> listName = new ArrayList<>();
Fragmentul de mai sus arată sintaxa definirii unui ArrayList. Type
definește tipul ArrayList. De exemplu, dacă doriți să declarați un ArrayList cu tipuri de date întregi, puteți trece <Integer>
. Rețineți că nu puteți transmite int
deoarece este un tip de date primitiv.
De asemenea, va trebui să importați java.util.ArrayList
pentru a utiliza ArrayList în programele dvs. Iată un exemplu de bază al unui program care declară un ArrayList:
import java.util.ArrayList; class Main { public static void main(String[] args) { // Declare An ArrayList ArrayList<String> rainbow = new ArrayList<>(); System.out.println(rainbow); } } Output: []
În codul de mai sus, este declarată un ArrayList numit rainbow
de tip String
.
Pentru a lucra cu ArrayList, există mai multe metode disponibile. Să aruncăm o privire la câteva metode.
Metoda de add
Clasa ArrayList oferă diverse metode pentru efectuarea de operațiuni precum adăugarea sau eliminarea elementelor, obținerea de valori, setarea unei valori într-o anumită poziție, ștergerea unui ArrayList etc.
Prima metodă pe care o vom vedea este metoda add
.
Metoda de add
este utilizată pentru adăugarea unui singur articol la o ArrayList
. Sintaxa pentru add
este prezentată mai jos.
arrayList.add(int i, Element)
Să înțelegem sintaxa acum. Primul parametru i
este un parametru opțional care reprezintă poziția indexului în care elementul pe care doriți să îl adăugați. Al doilea parametru Element
este elementul pe care doriți să îl adăugați. Să aruncăm o privire la un exemplu acum.
rainbow.add("Violet"); System.out.println(rainbow); Output: [Violet] rainbow.add(0, "Red"); System.out.println(rainbow); Output: [Red, Violet]
rainbow.add("Violet")
adaugă un element la sfârșitul unui ArrayList. Și rainbow.add(0, "Red")
adaugă elementul Red
la poziția de index 0
a ArrayList. Metoda add()
returnează true
când un articol este inserat cu succes.

Metoda get
Metoda get
este folosită pentru a obține valoarea dintr-o poziție specificată dintr-o ArrayList.
arrayList.get(int i);
i
-ul afișat în sintaxa de mai sus este poziția indexului. De exemplu, dacă doriți să obțineți elementul din poziția de index 1
, scrieți arrayList.get(1)
.
rainbow.add("Violet"); rainbow.add(0, "Red"); String color = rainbow.get(1); System.out.println(color); Output: Violet
Codul de mai sus va returna Violet
din rainbow
ArrayList.
Metoda set
Metoda set
este folosită pentru a înlocui valoarea unui articol. De exemplu, dacă doriți să înlocuiți valoarea unui element la poziția de index 0
, scrieți rainbow.set(0, "Purple")
, presupunând că aveți o ArrayList numită rainbow
.
Sintaxa pentru metoda set
este următoarea:
arrayList.set(int i, Element);
Unde i
este poziția indexului și Element
este valoarea noului element.
rainbow.add("Violet"); System.out.println(rainbow); Output: [Violet] rainbow.add(0, "Red"); System.out.println(rainbow); Output: [Red, Violet] rainbow.set(1, "Purple"); System.out.println(rainbow); Output: [Red, Purple]
În exemplul de mai sus, adăugăm două valori la o ArrayList numită rainbow
. Mai întâi se adaugă elementul Violet
, apoi la poziția 0
a ArrayList, adăugăm elementul Red
. În acest moment, ArrayList completă arată astfel, [Red, Violet]
.
Acum, elementul din poziția de index 1
este înlocuit cu valoarea Purple
folosind metoda set
. După înlocuirea valorii, ArrayList va arăta astfel, [Red, Purple]
.
Metoda de remove
Metoda ArrayList remove
este folosită pentru a elimina o valoare din ArrayList. Puteți trece fie valoarea, fie poziția index a valorii pe care doriți să o eliminați. Sintaxa pentru metoda de remove
este prezentată mai jos:
arrayList.remove(Object value); // or arrayList.remove(int i);
Să luăm un exemplu pentru o mai bună înțelegere a metodei. Să presupunem că aveți o ArrayList numită rainbow
cu aceste valori [Violet, Red, Green]
. Acum, dacă doriți să eliminați Red
din ArrayList, puteți scrie rainbow.remove("Red");
. Apelarea acestei metode pe ArrayList rainbow
va elimina elementul Red
din ea.
// rainbow = [Violet, Red, Green] rainbow.remove("Red"); System.out.println(rainbow); Output: [Violet, Green]
De asemenea, puteți trece de poziția de index pentru a elimina elementul din poziția de index.
//rainbow = [Red, Green] rainbow.remove(0); // Remove item at index position 0 System.out.println(rainbow); Output: [Green]
Metoda clear
După cum sugerează și numele, metoda clear
elimină toate elementele dintr-o ArrayList. Sintaxa este simplă și nu ia niciun parametru.
arraylist.clear()
Să aruncăm o privire la un exemplu,
rainbow.clear(); System.out.println(rainbow); Output: []
Metoda clear
nu returnează nicio valoare. În schimb, șterge valoarea ArrayList dată.
Metoda size
Metoda size
returnează dimensiunea ArrayList dată. De asemenea, această metodă nu ia niciun parametru. Sintaxa este prezentată mai jos.
arrayList.size();
arrayList
este numele ArrayList aici. Să înțelegem metoda size
cu ajutorul unui exemplu.
ArrayList<String> rainbow = new ArrayList<>(); rainbow.add("Violet"); rainbow.add("Red"); rainbow.add("Green"); System.out.println(rainbow.size()); Output: 3
Această metodă returnează valoarea mărimii ArrayList. În exemplul de mai sus, rainbow
ArrayList este format din trei valori, astfel încât metoda size
returnează 3.
Concluzie
Acest articol a discutat ce este un ArrayList și cum diferă de un Array. Am văzut, de asemenea, cum ar putea fi declarată și utilizată un ArrayList folosind diferite metode disponibile pentru clasa ArrayList.
Dacă doriți să vă aprofundați în învățarea Java, consultați aceste cursuri Java online.