Diferența dintre Listă și ArrayList în Java

Autor: Laura McKinney
Data Creației: 2 Aprilie 2021
Data Actualizării: 4 Mai 2024
Anonim
Diferența dintre Listă și ArrayList în Java - Tehnologie
Diferența dintre Listă și ArrayList în Java - Tehnologie

Conţinut


List și ArrayList sunt membrii cadrului Colecției. Lista este o colecție de elemente într-o secvență în care fiecare element este un obiect, iar elementele sunt accesate de poziția acolo (index). ArrayList creează o serie dinamică de obiecte care mărește sau reduce dimensiunile ori de câte ori este necesar. Diferența principală dintre List și ArrayList este că Listă este o interfață și ArrayList este o clasă. Să studiem diferența dintre Listă și ArrayList cu ajutorul graficului de comparație prezentat mai jos.

  1. Diagramă de comparație
  2. Definiție
  3. Diferențele cheie
  4. Concluzie

Diagramă de comparație

Baza pentru comparațieListăArrayList
De bazăLista este o interfațăArrayList este o clasă standard de colectare.
SintaxăLista interfețelorclasa ArrayList
Extinderea / Punerea în aplicareInterfața de listă extinde Cadrul de colectare.ArrayList extinde AbstractList și implementează interfața List.
namespaceSystem.Collections.Generic.System.Collections.
MuncăEste utilizat pentru a crea o listă de elemente (obiecte) care sunt asociate cu numerele lor de index.ArrayList este utilizat pentru a crea un tablou dinamic care conține obiecte.


Definiția List

Lista este an interfață care extinde Colectie cadru. Interfața listă descrie colecția de elemente care sunt aranjate secvențial. Interfața listă este implementată de următoarele clase de colectare standard, cum ar fi ArrayList, LinkedList, CopyOnWriteArrayList, Vector, Stack. Interfața de listă are elemente care sunt asociate cu numerele lor de index. Puteți accesa un element din listă prin poziția (indexul) din listă. O listă creată folosind interfața List începe cu un indice bazat pe zero.

În plus față de metodele moștenite de cadrul Colecție, interfața List definește și o metodă proprie. Metodele adăugate de interfața List sunt: adăugați (int, E) și addAll (int, Colecție). Aceste metode adaugă un element la listă după indexul lor. Metodele din listă pot arunca o excepție de genul UnsupportedOperationException dacă metoda nu poate modifica lista. Atunci când un obiect dintr-o listă este incompatibil cu un alt obiect din listă, atunci ClassCastException este aruncat.Numele elemente nu sunt permise în listă dacă încercați să inserați un obiect nul în listă, NullPointerException este aruncat.


Puteți obține un element din listă folosind obține() metodă. Puteți seta valoarea unui element din listă folosind a stabilit() metodă. Puteți obține și sublista din listă folosind o metodă sublistã (). Devine convenabil să operați pe sublistă în loc de listă.

Definiția ArrayList

Una dintre clasele standard de colectare este ArrayList care se extinde AbstractList clasa si implementeaza de asemenea Listă interfață. Clasa ArrayList este utilizată pentru a crea tablourile dinamice care cresc și se micșorează ori de câte ori este necesar. Lista creată folosind clasa ArrayList nu este decât o serie de obiecte. În Java, tabloul standard are lungimea fixă, deci trebuie să știți în prealabil dimensiunea tabloului. Dar, este posibil să nu știți ce lungime a tabloului aveți nevoie până la timpul de rulare. Prin urmare, cadrul Colecției a introdus clasa ArrayList pentru a depăși această problemă.

ArrayList are constructori care creează tabloul cu capacitatea sa inițială. Deși capacitatea obiectului clasei ArrayList crește automat atunci când sunt adăugate elemente în tablou, totuși puteți crește manual capacitatea obiectului ArrayList folosind metoda ensureCapacity (). Este mai bine să creșteți inițial capacitatea tabloului, în loc să realocați memoria mai târziu. Deoarece realocarea este mai costisitoare decât alocarea memoriei simultan.

  1. Una dintre cele mai importante diferențe între List și ArrayList este că lista este an interfață iar ArrayList este o colecție standard clasă.
  2. Interfața listă extinde Colectie cadru, întrucât ArrayList se extinde AbstractList Clasa și implementează Listă interfețe.
  3. Spațiul de nume pentru interfața List este System.Collection.Generic întrucât, spațiul de nume pentru ArrayList este System.Collection.
  4. Interfața listă creează o colecție de elemente care sunt stocate într-o secvență și sunt identificate sau accesate de numărul lor de index. Pe de altă parte, ArrayList creează o serie de obiecte în care matricea poate crește dinamic atunci când este necesar.

Concluzie:

ArrayList depășește problema unui tablou static în Java standard adică matricea nu poate crește ca dimensiune odată ce a fost creată. Atunci când un tablou este creat folosind ArrayList, este creat un tablou dinamic care poate crește și micșora dimensiunea atunci când este nevoie. Clasa de colecție standard ArrayList extinde interfața Listă.