Mis on erinevus ArrayListi ja Vector vahel - Erinevus-Vahel

Mis on erinevus ArrayListi ja Vector vahel

The peamine erinevus ArrayListi ja Vector vahel on see, et ArrayList on sünkroniseerimata ja võimaldab mitmel niidil töötada samaaegselt ArrayListiga, samas kui vektor on sünkroniseeritud ja väldib samaaegselt vektoriga töötavate mitmete niidide kasutamist.

Sellised programmeerimiskeeled nagu Java toetab kogusid, mis võimaldab salvestada mitut objekti ühe üksusena. Kaks sellist kollektsiooni on ArrayList ja Vector. Need aitavad salvestada andmeid dünaamiliselt. ArrayList on sünkroniseerimata, mistõttu ArrayList toimib paremini kui Vector. Teisest küljest on vektor sünkroniseeritud ja sisaldab mitmeid pärandmeetodeid.

Kaetud peamised valdkonnad

1. Mis on ArrayList
- Mõiste, funktsionaalsus
2. Mis on vektor
- Mõiste, funktsionaalsus
3. Mis vahe on ArrayListi ja Vector vahel
- peamiste erinevuste võrdlus

Võtmesõnad

ArrayList, Vector


Mis on ArrayList

ArrayList on andmestruktuur, mida rakendatakse ArrayListClass'i abil. See ArrayListi klass rakendab edasi Listi liidest. See on massiividele parem alternatiiv. Tavalised massiivid on fikseeritud pikkusega. Seetõttu ei saa programmeerija lisada rohkem elemente kui määratletud massiivi suurus. ArrayListi abil on võimalik massiivi suurust muuta dünaamiliselt. Teisisõnu, programmeerija saab elemente dünaamiliselt lisada või eemaldada. Seetõttu on see paindlik andmestruktuur. ArrayList säilitab elementi sisestatud järjekorras. Lisaks on ArrayList klassis olemas eelnevalt määratletud meetodid. Programmeerija saab neid kasutada oma programmis.


Joonis 1: ArrayList programm

Kui vaadata ülaltoodud programmi, on „puuviljad” ArrayList tüüpi objekt. See võib salvestada stringe. Lisamismeetod aitab elemente ArrayListile sisestada. 2. elementnd ArrayListi indeks on viinamarjad. Eemaldamismeetod aitab eemaldada „viinamarju” ArrayListist. Nüüd on saadaval ainult kolm elementi. “Itr” on iterator. See aitab iteratsiooni läbi ArrayListi. Lõpuks prindib silmusahel ArrayListis saadaval olevaid elemente.

Mis on Vector

Vektor on andmestruktuur, mis on rakendatud Vector klassi abil. Vektoriklass rakendab loendi liidest. Vektor säilitab elementi sisestatud järjekorras. See on sünkroniseeritud. Seetõttu ei saa mitmed niidid üheaegselt vektoriga töötada. Tavaliselt on vektori elementide lisamise, kustutamise ja värskendamise jõudlus madalam.


Joonis 2: Vektoriprogramm

Ülaltoodud programmis on "vec" vektori objekt, mis võib salvestada stringe. Lisamismeetod aitab lisada uusi elemente vektorisse. Samamoodi aitab eemaldamismeetod elementi vektorist eemaldada. Seetõttu eemaldatakse eemaldamismeetodile “oranž” see konkreetne element vektorist. “En” on loend, mis aitab iteratsiooni läbi vektori. Lõpuks prindib samas silmus vektoris olevad elemendid.

ArrayListi ja Vectori erinevus

Määratlus

ArrayList on sünkroniseerimata andmestruktuur, mis kasutab elementide salvestamiseks dünaamilist massiivi, samas kui vektor on sünkroniseeritud andmestruktuur, mis kasutab elementide salvestamiseks dünaamilist massiivi. Seega on see peamine erinevus ArrayListi ja Vektori vahel.

Toimivus

Tulemus on suur erinevus ArrayListi ja Vectori vahel. ArrayList töötab kiiremini kui vektor. Seetõttu on selle jõudlus suurem kui vektor.

Sünkroonimine

Aboveall, sünkroniseerimine on peamine erinevus ArrayListi ja Vectori vahel. ArrayList on sünkroniseerimata, kusjuures vektor on sünkroniseeritud.

Elementide liikumine

Kuigi ArrayList kasutab elementide läbimiseks Iteratori liideseid, kasutab vektor elementide läbimiseks Iteratori liidest või loenduse liidest. Seega on see teine ​​erinevus ArrayListi ja Vectori vahel.

Array suurus

Lisaks suurendab ArrayList 50% praegusest massiivi suurusest, kui elementide arv ületab selle võimsuse, samas kui vektori juurdekasv 100%, st kahekordistab massiivi suurust, kui elementide koguarv ületab selle võimsuse.

Järeldus

Nii ArrayList kui ka Vector võimaldavad elemente salvestada dünaamiliselt. Peamine erinevus ArrayListi ja Vektori vahel seisneb sünkroniseerimises. ArrayList on sünkroniseerimata ja võimaldab mitmel teemal samal ajal töötada, samal ajal kui Vector on sünkroniseeritud ja väldib samaaegselt mitut niidit. Seega on ArrayList kiirem kui vektor.

Viide:

1. "ArrayList Java - Javatpoint." Www.javatpoint.com,