Recomandat, 2024

Alegerea Editorului

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

Listă și ArrayList sunt membrii Cadrului de colectare. Listă este o colecție de elemente dintr-o secvență în care fiecare element este un obiect, iar elementele sunt accesate de acolo (index). ArrayList creează o gamă dinamică de obiecte care cresc sau diminuează dimensiunea ori de câte ori este necesar. Diferența principală dintre listă și ArrayList este că lista este o interfață, iar ArrayList este o clasă. Să studiem diferența dintre Listă și ArrayList cu ajutorul graficului de comparație prezentat mai jos.

Diagramă de comparație

Bazele comparațieiListăArrayList
De bazăLista este o interfațăArrayList este o clasă de colecții standard.
Sintaxălista de interfețeclasa ArrayList
Extinderea / Punerea în aplicareLista de interfață extinde cadrul de colectare.ArrayList extinde AbstractList și implementează lista de interfețe.
namespaceSystem.Collections.Generic.System.Collections.
MuncăSe utilizează pentru a crea o listă de elemente (obiecte) care sunt asociate cu numerele lor index.ArrayList este folosit pentru a crea o matrice dinamică care conține obiecte.

Definiția list

Lista este o interfață care extinde cadrul Colecției . Interfața de listă descrie colecția de elemente care sunt aranjate secvențial. Interfața de 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 index. Puteți accesa un element din listă prin poziția sa (index) din listă. O listă creată utilizând interfața List începe cu un index bazat pe zero.

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

Puteți obține un element din listă utilizând metoda get () . Puteți seta valoarea unui element în listă utilizând metoda set () . De asemenea, puteți obține sublista din listă utilizând o sublistă () a metodei. Devine convenabil să operezi în sublistă în loc de o listă.

Definiția ArrayList

Una dintre clasele standard de colectare este ArrayList care extinde clasa AbstractList și implementează și interfața List . Clasa ArrayList este utilizată pentru a crea rețelele dinamice care cresc și se diminuează ori de câte ori este necesar. Lista creată folosind clasa ArrayList nu este altceva decât o serie de obiecte. În Java, matricea standard are lungimea fixă, deci trebuie să cunoașteți dimensiunea matricei în avans. Dar este posibil să nu știți ce lungime de matrice aveți nevoie până la timpul de rulare. Prin urmare, cadrul de colectare a introdus clasa ArrayList pentru a depăși această problemă.

ArrayList are constructori care creează matricea cu capacitatea inițială. Deși capacitatea obiectului ArrayList de clasă crește automat atunci când elementele sunt adăugate la matrice, puteți mări manual capacitatea obiectului ArrayList folosind metoda sureCapacity () . Este mai bine să măriți inițial capacitatea matricei în loc să redați memoria mai târziu. Deoarece realocarea este mai costisitoare decât alocarea simultană a memoriei.

Diferențele cheie între listă și ArrayList

  1. Una dintre cele mai importante diferențe dintre listă și ArrayList este că această listă este o interfață, iar ArrayList este o clasă de colecții standard.
  2. Lista de interfețe extinde cadrul de colectare, în timp ce ArrayList extinde clasa AbstractList și implementează interfețele List .
  3. Spațiul de nume pentru interfața List este System.Collection.Generic, în timp ce spațiul de nume pentru ArrayList este System.Collection .
  4. Listă interfață creează o colecție de elemente care sunt stocate într-o secvență și sunt identificate sau accesate prin numărul lor de index. Pe de altă parte, ArrayList creează o serie de obiecte în care matricea poate crește dinamic când este necesar.

Concluzie:

ArrayList depășește problema unei matrice statice în Java standard, adică matricea nu poate crește în dimensiune după ce este creată. Atunci când o matrice este creată folosind ArrayList, este creată o matrice dinamică care poate crește și se micsorează atunci când este necesar. Clasa colectivă standard ArrayList extinde interfața List.

Top