Ero ArrayList ja Vector



ArrayList vs Vector

Vektori toteuttaa matriiseja, jotka voivat kasvaa / kutistua suorituksen, kun jotkut elementit lisätään tai poistetaan siitä. Sen elementit niistä käytetään kokonaisluku indeksin. Kaksi kenttää C ja kapasiteetin lisäys, luonnehtivat vektori tallennuksen hallinnan. Se toteuttaa neljä rajapinnat:
* List
* Random Access
* Cloneable
* Serializable rajapinnat

ArrayList, kuten vektorit, myös toteuttaa neljä rajapintoja. Jälleen kuten vektorit, sen koko voi muuttua ajon aikana. Lisäksi se on kenttä nimeltään kapasiteetti, jonka koko on yhtä suuri kuin koko ArrayList.

Sekä vektorit ja ArrayList ovat hyviä hakemiseksi elementtejä tahansa asennossa ja myös lisätä tai poistaa elementtejä loppuun säiliön luokan.
API: sta näkökulmasta, sekä vektorit, samoin kuin ArrayList ovat hyvin samankaltaisia. Joten jos juuri on se ero näiden kahden välillä? Seuraavat kohdat valottaa tätä asiaa:

1. Synkronointi: Vektorit on synkronoitu, mutta ArrayList ei ole. Jos lisätä tai poistaa elementtejä peräisin ArrayList, se kutsutaan rakenteellisia muutoksia. Kun useita säikeitä ovat otettaessa yhteys ArrayList samanaikaisesti koodiosion luettelon muuttamisesta, sitten yksi on ulkoisesti synkronoida listalle. Lyhyesti, vektori sisältö kierre-safe taas ArrayList 's ei. Jos vaatimus ei mainita kierre-turvallinen kerääminen, niin tulisi valita ArrayList synkronointi osuu suorituskykyä. Ei-synkronoitu ArrayLists ovat nopeita.



2. Data kasvu: Sekä ArrayList ja vektorin elementit tallennetaan paneelit, mutta vektorit on oletusarvo kokoa 10, ja ArrayList ole oletuskokoon. Kun tähän lisätään elementin joko ArrayList tai vektori, on olemassa mahdollisuus, että joko luokka voi tila loppuu. Tällaisessa tapauksessa, oletuksena Vector kaksinkertaistaa koon, kun ArrayList koko kasvaa 50%. Voit asettaa lisäys arvoon silloin vektoreiden se ei ole mahdollista, että ArrayList.

3. Kulkeva elementit: ArrayList etuna on täällä voit käyttää sen elementtejä yksinkertaisesti indeksillä. Kun kyseessä on vektorit, sinun täytyy luoda iteraattorin kulkemaan sen elementtejä.

Yhteenveto:

1. Jos astia luokka on muutettava yhdellä lanka tai joitakin paikallisia muuttuja, sinun tulisi käyttää ArrayList.
2. Kun säiliö luokka on käsiksi useita säikeitä, niin käytä vektorit muuten joudut tekemään manuaalisen synkronoinnin.
3. Voimme määritellä Porrasvälin kanssa vektorin kanssa ja ArrayList voimme 't.
4. Vektori synkronoidaan ja ArrayList ei ole.