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 Tutorial - Which Should You Use? 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ă se creeze matrice care să crească după cum este necesar. Limbajele de programare precum Java au colecții. Este un cadru cu un set de clase și interfețe. Servește ca container pentru un grup de elemente. Colecțiile permit stocarea, actualizarea, preluarea unui set de elemente. Ajută să lucrați cu structuri de date, cum ar fi liste, seturi, arbori și hărți. Lista este o interfață a cadrului Collection. ArrayList și LinkedList sunt două clase în cadrul colecțiilor. Ei implementează interfața de colecție ș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ă dublu legată pentru a stoca elemente de date. Aceasta este diferența cheie dintre ArrayList și LinkedList.

Ce este ArrayList?

Clasa ArrayList este folosită pentru a crea matrice dinamice. Spre deosebire de o matrice normală, dimensiunea unei matrice dinamice nu este fixă. Un obiect creat folosind clasa ArrayList are voie să stocheze un set de elemente în listă. Capacitatea crește automat, astfel încât programatorul poate adăuga elemente la 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 folosită pentru a adăuga elemente la listă. Metoda remove() este folosită 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
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 ArrayList. Folosind metoda add, elementele pot fi adăugate dinamic. Elementele „A”, „B”, „C”, „D” și „E” sunt adăugate folosind metoda de adăugare. Metoda de eliminare este folosită pentru a elimina un element din listă. Când treceți 4 la metoda de eliminare, litera din al 4-lea index care este „E” este eliminată din listă. Când parcurgeți lista folosind bucla for, se vor tipări literele A, B, C și D.

Ce este LinkedList?

Similar cu ArrayList, LinkedList este folosit pentru a stoca elemente de date în mod dinamic. Un obiect creat folosind clasa LinkedList are voie să stocheze un set de elemente în listă. Capacitatea crește automat, astfel încât programatorul poate adăuga elemente la listă. Utilizează în interior o listă dublu legată pentru a stoca date. Într-o listă dublu legată, datele sunt stocate ca noduri. Fiecare nod conține două legături. Prima legătură indică către 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 folosită pentru a accesa elementele listei. Metoda add() poate fi folosită pentru a adăuga elemente la listă. Metoda remove() este folosită pentru a elimina un element din listă. Consultați programul de mai jos.

Diferența cheie între ArrayList și LinkedList
Diferența cheie între ArrayList și LinkedList
Diferența cheie între ArrayList și LinkedList
Diferența cheie între ArrayList și LinkedList

Figura 02: Exemplu cu LinkedList

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

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?

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țele List, Deque, Queue, care utilizează intern o listă dublu conectată pentru a stoca elemente de date.
Accesarea elementelor
Accesarea elementelor ArrayList este mai rapidă decât a unei LinkedList. Accesarea elementelor LinkedList este mai lent decât a unei ArrayList.
Manipularea elementelor
Manipularea elementelor ArrayList este mai lentă decât a unei LinkedList. Manipularea elementelor LinkedList este mai rapidă decât a unei ArrayList.
Comportament
ArrayList funcționează ca o listă. LinkedList funcționează ca o listă și o coadă.

Summary – ArrayList vs LinkedList

Cadrul de colectare permite lucrul cu structuri de date precum liste, arbori, hărți și seturi. Lista este o interfață a cadrului de colectare. Acest articol a discutat 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, Queue, care utilizează intern o listă dublu legată pentru a stoca elemente de date. Aceasta este diferența dintre ArrayList și LinkedList.

Recomandat: