Diferències entre ArrayList i Vector en Java
Content
ArrayList i Vector són les classes sota jerarquia de Framework Framework. ArrayList i Vector, tots dos s’utilitzen per crear una matriu dinàmica d’objectes on la matriu pugui créixer de mida segons sigui necessari. Hi ha dues diferències bàsiques que distingeixen ArrayList i Vector és que Vector pertany a les classes Legacy que posteriorment es van reenginyar per donar suport a les classes de col·lecció, mentre que, ArrayList és una classe de col·lecció estàndard. Una altra diferència important és que ArrayList no està sincronitzat en canvi; El vector està sincronitzat.
Estudiem algunes altres diferències amb l'ajut del gràfic de comparació que es mostra a continuació.
- Gràfic de comparació
- Definició
- Diferències claus
- Semblances
- Conclusió
Gràfic de comparació
Bases per a la comparació | Llista ArrayL | Vector |
---|---|---|
Bàsic | La classe ArrayList no està sincronitzada. | La classe vectorial està sincronitzada. |
Classe de llegat | ArrayList és una classe de col·lecció estàndard. | Vector és una classe de llegat, re-dissenyada per donar suport a la classe de col·lecció. |
Declaració de classe | classe ArrayList | Vector de classe |
Reassignació | Quan no s'especifica, ArrayList s'incrementa a la meitat de la mida. | Quan no s'especifica, un vector s'incrementa per duplicar la seva mida. |
Rendiment | Com que ArrayList no està sincronitzat, funciona més ràpid que Vector. | A mesura que Vector està sincronitzat, funciona més lent que ArrayList. |
Enumeració / Iterador | ArrayList utilitza la interfície Iterator per recórrer els objectes emmagatzemats a ArrayList. | Vector utilitza Enumeració i la interfície Iterator per recórrer els objectes emmagatzemats a Vectors. |
Definició de ArrayList
ArrayList pertany a la llista de classes de recollida estàndard. La classe ArrayList es defineix dins de java.util el paquet, amplia el paquet Resum Llista classe que també és una classe de col·lecció estàndard, i també la implementa Llista, una interfície definida a Interfícies de col·lecció. A Java, una matriu estàndard sempre té una longitud fixa. Això vol dir que una vegada creat; no creix ni disminueix dinàmicament. Per tant, haureu de tenir coneixement previ de la longitud de la matriu que utilitzeu. Però, de vegades pot passar que es reveli la durada requerida en temps d'execució, per tal de gestionar aquest tipus de situacions ja va presentar ArrayList.
L’ArrayList és la classe usada per a la creació dinàmica d’una matriu que conté les referències als objectes. Aquesta matriu pot créixer de mida segons quan sigui necessari. La declaració de classe és la següent:
classe ArrayList Aquí, E especifica el tipus d'objectes que mantindrà una matriu. La matriu creada és de longitud variable i augmenta i disminueix de mida quan s’afegeixen o es treuen objectes de la llista. L'ArrayList no està sincronitzat, és a dir, més d'un fil pot funcionar alhora a la matriu. Per exemple, si un fil està afegint una referència d'objecte a la matriu i un altre fil elimina una referència d'objecte de la mateixa matriu alhora. La creació d'una matriu dinàmica mitjançant la classe ArrayList: Llista ArrayL Al codi anterior, podeu veure-ho; He creat una matriu d'objectes de tipus de cadena. He afegit alguns objectes a la matriu S1 mitjançant el mètode add (), i més tard he suprimit alguns objectes mitjançant el mètode remove (). Podeu observar si no especifiqueu la mida inicial de la matriu que tindrà una longitud de "0". Com podeu veure, la matriu creix i redueix la mida a mesura que afegiu i elimineu els elements. Vector és una classe Legat que es reenginyera per donar suport a la classe de col·lecció a la jerarquia de Framework Framework. La classe vectorial també es defineix en java.util paquet ampliat per Resum Llista classe i implementat per la Llista interfície. La classe de Vector es declara així: Vector de classe Aquí, E defineix el tipus d'objecte que es guardarà en una matriu. Una matriu creada mitjançant la classe Vector té una longitud variable. Si augmenta el doble, no augmenta el doble de mida. Entenem la creació d'una matriu mitjançant Vector. Vector Al codi anterior podeu veure que, vaig mencionar particularment el valor de la mida i l’increment en el constructor de Vector respectivament, mentre declarava la matriu d’objectes de cadena. Per tant, podeu observar que a mesura que s'acaba el límit de la matriu, augmenta en funció del valor proporcionat al constructor durant la declaració. Acabo dient que l'ús d'ArrayList és millor que l'ús de Vector ja que millora més ràpidament.Definició de Vector
Similituds:
Conclusió: