Diferència entre llista i matriu ArrayList a Java

Autora: Laura McKinney
Data De La Creació: 2 Abril 2021
Data D’Actualització: 15 Ser Possible 2024
Anonim
Diferència entre llista i matriu ArrayList a Java - Tecnologia
Diferència entre llista i matriu ArrayList a Java - Tecnologia

Content


List i ArrayList són els membres del marc de la col·lecció. La llista és una col·lecció d’elements d’una seqüència on cada element és un objecte i als quals s’hi accedeix per la posició allà (índex). ArrayList crea una matriu dinàmica d’objectes que augmenta o redueix la mida sempre que calgui. La diferència principal entre List i ArrayList és que Llista és una interfície i Llista ArrayL és una classe. Estudiem la diferència entre la llista i la matriu ArrayList amb l'ajuda del gràfic de comparació que es mostra a continuació.

  1. Gràfic de comparació
  2. Definició
  3. Diferències claus
  4. Conclusió

Gràfic de comparació

Bases per a la comparacióLlistaLlista ArrayL
BàsicLa llista és una interfícieArrayList és una classe de col·lecció estàndard.
SintaxiLlista d’interfíciesclasse ArrayList
Ampliar / implementarLa interfície de llista amplia l'estructura de col·lecció.ArrayList amplia AbstractList i implementa la interfície de llista.
Espai de nomsSystem.Collections.Generic.System.Collections.
TreballS'utilitza per crear una llista d'elements (objectes) associats amb els seus números d'índex.ArrayList s’utilitza per crear una matriu dinàmica que conté objectes.


Definició de llista

La llista és una interfície que amplia el Col · lecció marc. La interfície de llista descriu la col·lecció d’elements que s’organitzen seqüencialment. La interfície de llista està implementada per les següents classes de col·lecció estàndard com Llista ArrayList, Llista Enllaçada, CopyOnWriteArrayList, Vector, Pila. La interfície de llista té elements associats als seus números d'índex. Podeu accedir a un element de la llista mitjançant la seva posició (índex) de la llista. Una llista creada mitjançant la interfície de llista comença amb un índex basat en zero.

A més dels mètodes heretats pel framework Collection, la interfície de llista també defineix algun mètode propi. Els mètodes afegits per la interfície de la llista són, afegir (int, E) i addAll (int, col·lecció). Aquests mètodes afegeixen un element a la llista segons el seu índex. Els mètodes de la llista poden llançar una excepció UnsupportedOperationException si el mètode no pot modificar la llista. A continuació, quan un objecte d'una llista és incompatible amb un altre objecte de la llista ClassCastException és llançat. Els elements nuls no estan permesos a la llista si intenteu inserir un objecte nul a la llista, NullPointerException es llança


Podeu obtenir un element de la llista mitjançant aconseguir() mètode. Podeu definir el valor d’un element de la llista mitjançant conjunt() mètode. També podeu obtenir la sublista de la llista mitjançant un mètode sublista (). Es fa convenient operar a la sublista en lloc d’una llista.

Definició de ArrayList

Una de les classes estàndard de la col·lecció és ArrayList que s’estén Resum Llista classe i també implementa la Llista interfície. La classe ArrayList s'utilitza per crear les matrius dinàmiques que creixen i disminueixen sempre que calgui. La llista creada mitjançant la classe ArrayList no és sinó la matriu d'objectes. En Java, la matriu estàndard té la longitud fixa, per tant, heu de conèixer la mida de la matriu per endavant. Però pot ser que no coneguis quina longitud de la matriu necessites fins al temps d'execució. Per tant, el marc de la col·lecció va introduir la classe ArrayList per superar aquest problema.

ArrayList té constructors que creen la matriu amb la seva capacitat inicial. Tot i que la capacitat de l’objecte de la classe ArrayList augmenta automàticament quan s’afegeixen elements a la matriu, encara podeu augmentar manualment la capacitat de l’objecte d’ArrayList mitjançant el mètode. assegurarCapacitat (). És millor augmentar inicialment la capacitat de matriu en lloc de tornar a assignar la memòria més tard. Perquè la reassignació és més costosa que assignar la memòria alhora.

  1. Una de les diferències més importants entre List i ArrayList és que la llista és un interfície i ArrayList és una col·lecció estàndard classe.
  2. La interfície de llista amplia l Col · lecció mentre que, la llista ArrayList s'estén Resum Llista Classe i implementa Llista interfícies.
  3. L’espai de noms de la interfície de llista és System.Collection.Generic mentre que, l’espai de noms d’ArrayList és Sistema.Colecció.
  4. La interfície de llista crea una col·lecció d’elements que s’emmagatzemen en una seqüència i als quals s’identifica o accedeix el seu número d’índex. D'altra banda, ArrayList crea una matriu d'objectes on la matriu pot créixer dinàmicament quan cal.

Conclusió:

L’ArrayList supera el problema d’una matriu estàtica en Java estàndard, és a dir, la matriu no pot créixer de mida una vegada creada. Quan es crea una matriu mitjançant ArrayList, es crea una matriu dinàmica que pot créixer i reduir-se de mida quan sigui necessari. La classe de col·lecció estàndard ArrayList amplia la interfície de llista.