Diferența Dintre ArrayList și LinkedList

Cuprins:

Diferența Dintre ArrayList și LinkedList
Diferența Dintre ArrayList și LinkedList

Video: Diferența Dintre ArrayList și LinkedList

Video: Diferența Dintre ArrayList și LinkedList
Video: LinkedList vs ArrayList in Java | Differences between ArrayList and LinkedList | Edureka 2024, Decembrie
Anonim

Diferența cheie - ArrayList vs LinkedList

Colecțiile sunt utile pentru stocarea datelor. Într-o matrice normală, dimensiunea matricei este fixă. Uneori este necesar să creați matrice care pot crește după cum este necesar. Limbaje de programare precum Java are colecții. Este un cadru cu un set de clase și interfețe. Acesta servește drept container pentru un grup de elemente. Colecțiile permit stocarea, actualizarea, recuperarea setului de elemente. Ajută la lucrul cu structuri de date, cum ar fi liste, seturi, copaci și hărți. Lista este o interfață a cadrului de colecție. ArrayList și LinkedList sunt două clase în cadrul colecțiilor. Acestea implementează interfața de colectare și interfața List. Acest articol discută diferența dintre ArrayList și LinkedList. ArrayList este o clasă care extinde AbstractList și implementează interfața List, care utilizează intern o matrice dinamică pentru a stoca elemente de date. LinkedList este o clasă care extinde AbstractSequentialList și implementează interfețele List, Deque și Queue, care utilizează intern o listă dublă legată pentru a stoca elemente de date. Aceasta este diferența cheie între ArrayList și LinkedList.

CUPRINS

1. Prezentare generală și diferența cheie

2. Ce este ArrayList

3. Ce este LinkedList

4. Asemănări între ArrayList și LinkedList

5. Comparație side by side - ArrayList vs LinkedList în formă tabelară

6. Rezumat

Ce este ArrayList?

Clasa ArrayList este utilizată pentru a crea tablouri dinamice. Spre deosebire de un tablou normal, dimensiunea unui tablou dinamic nu este fixă. Un obiect creat folosind clasa ArrayList este permis să stocheze un set de elemente în listă. Capacitatea crește automat, astfel încât programatorul poate adăuga elemente pe listă. Clasa ArrayList extinde clasa AbstractList care implementează interfața List. Prin urmare, metodele interfeței List pot fi utilizate de ArrayList. Pentru a accesa elemente, se folosește metoda get (). Metoda add () poate fi utilizată pentru a adăuga elemente la listă. Metoda remove () este utilizată pentru a elimina un element din listă. Consultați programul de mai jos.

Diferența dintre ArrayList și LinkedList
Diferența dintre ArrayList și LinkedList

Figura 01: Exemplu de ArrayList

Conform programului de mai sus, este creat un obiect al ArrayList. Folosind metoda add, elementele pot fi adăugate dinamic. Elementele „A”, „B”, „C”, „D” și „E” sunt adăugate folosind metoda add. Metoda de eliminare este utilizată pentru a elimina un element din listă. Când treceți 4 la metoda de eliminare, litera din al patrulea index care este „E” este eliminată din listă. Când iterați prin listă folosind bucla for, literele A, B, C și D se vor imprima.

Ce este LinkedList?

Similar cu ArrayList, LinkedList este utilizat pentru a stoca elemente de date în mod dinamic. Un obiect creat utilizând clasa LinkedList este permis să stocheze un set de elemente în listă. Capacitatea crește automat, astfel încât programatorul poate adăuga elemente pe listă. Utilizează intern o listă dublă legată pentru a stoca date. Într-o listă dublă legată, datele sunt stocate ca noduri. Fiecare nod conține două legături. Primul link indică nodul anterior. Următorul link indică următorul nod din secvență.

Clasa LinkedList extinde clasa AbstractSequentialList și implementează interfața List. Prin urmare, metodele interfeței List pot fi utilizate de LinkedList. Metoda get () poate fi utilizată pentru a accesa elementele listei. Metoda add () poate fi utilizată pentru a adăuga elemente la listă. Metoda remove () este utilizată pentru a elimina un element din listă. Consultați programul de mai jos.

Diferența cheie dintre ArrayList și LinkedList
Diferența cheie dintre ArrayList și LinkedList

Figura 02: Exemplu cu LinkedList

Conform programului de mai sus, este creat un obiect din LinkedList. Folosind metoda add, elementele pot fi adăugate dinamic. Elementele „A”, „B”, „C”, „D” și „E” sunt adăugate folosind metoda add. Metoda de eliminare este utilizată pentru a elimina un element din listă. Când treceți 4 la metoda de eliminare, litera din al patrulea index care este „E” se elimină din listă. Când iterați folosind bucla for, literele A, B, C și D se vor imprima.

Care sunt asemănările dintre ArrayList și LinkedList?

  • Atât ArrayList, cât și LinkedList implementează interfața List.
  • Atât ArrayList, cât și LinkedList pot conține elemente duplicat.
  • Atât ArrayList, cât și LinkedList mențin ordinea de inserare.

Care este diferența dintre ArrayList și LinkedList?

Difuzarea articolului din mijloc înainte de tabel

ArrayList vs LinkedList

ArrayList este o clasă care extinde AbstractList și implementează interfața List care utilizează intern o matrice dinamică pentru a stoca elemente de date. LinkedList este o clasă care extinde AbstractSequentialList și implementează interfețe List, Deque, Queue, care utilizează intern o listă dublă legată pentru a stoca elemente de date.
Accesarea elementelor
Accesarea elementelor ArrayList este mai rapidă decât a LinkedList. Accesarea elementelor LinkedList este mai lentă decât a ArrayList.
Elemente manipulatoare
Manipularea elementelor ArrayList este mai lentă decât a LinkedList. Manipularea elementelor LinkedList este mai rapidă decât a ArrayList.
Comportament
ArrayList funcționează ca o listă. LinkedList funcționează ca o listă și o coadă.

Rezumat - ArrayList vs LinkedList

Cadrul de colectare permite lucrul cu structuri de date, cum ar fi liste, arbori, hărți și seturi. Lista este o interfață a cadrului de colectare. Acest articol a discutat despre diferența dintre ArrayList și LinkedList. ArrayList este o clasă care extinde AbstractList și implementează interfața List care utilizează intern o matrice dinamică pentru a stoca elemente de date. LinkedList este o clasă care extinde AbstractSequentialList și implementează interfețe List, Deque, Queue, care utilizează intern o listă dublă legată pentru a stoca elemente de date. Aceasta este diferența dintre ArrayList și LinkedList.

Recomandat: