Razlike med Java Vector in ArrayList
Ena skupna definicija, ki si jo bomo zapomnili med pisanjem o vektorju (Java). Java vektorji se običajno uporabljajo namesto nizov. Lahko damo primere za isto - Medtem ko se podatki samodejno povečujejo, se bodo razširili. Lahko izdelamo vektor z začetno velikostjo ali s privzeto začetno velikostjo.
Videli bomo kodo za privzeto začetno velikost ali začetno velikost:
- Ustvari vektor s privzeto začetno velikostjo
Vector v = nov Vector (); - Ustvari vektor z začetno velikostjo
Vektor v = nov Vektor (300);
Spodaj so skupne vektorske metode:
- dodaj (o)
- jasno ()
- prviElement (i)
- listIterator ()
- velikost ()
- toArray (Objekt ())
Java ArrayList je ena najpreprostejših in najpogosteje uporabljenih podatkovnih struktur v razredih izvajanja knjižnice Java API. Glavna stvar je, da uporablja dinamični niz za shranjevanje elementov. Pri ustvarjanju nizov se moramo spomniti tiste, ki so določene dolžine, ko se ustvarijo, ne moremo spreminjati.
Spodaj so Konstruktorji
ArrayList () - Pomaga pri sestavljanju praznega seznama nizov
ArrayList (Zbirka c) - Pomaga pri sestavljanju seznama konstruktivnih elementov v
Vnaprej določena zbirka
ArrayList (int kapaciteta) - pomaga pri oblikovanju praznega seznama.
Spodaj so najpogosteje uporabljene metode :: ::
- Boolov dodaj (E obj)
- neveljavno dodajanje (int indeks, E obj)
- E get (int indeks)
- boolean vsebuje (Objekt obj)
- boolean isEmpty ()
Java je bila predstavljena z novo zbirko API-ja v Java 2.0 za zagotavljanje enotnih strukturiranih razredov. Ko se bo predstavil nov API, se bodo metode spremenile. Zdaj bomo videli nekatere stare in nove metode, spremenjene v času spremembe API-ja.
Stara metoda | Nova metoda |
Objekt elementAt (int) | Objekt get (int) |
void insertElementAt (Objekt, int) | neveljavno dodajanje (kazalo, objekt) |
neveljaven dodatek (predmet) | boolean add (Objekt) |
nični setElementAt (int) | Niz predmeta (int, objekt) |
void removeElementAt (int) | neveljavno odstranjevanje (int) |
void removeAllElements () | nično jasno () |
Primerjava med nami med Java Vector in ArrayList (Infographics)
Spodaj je zgornja 8 primerjava med Java Vector in ArrayList
Ključne razlike med Java Vector in ArrayList
Spodaj so seznami točk, opišite ključne razlike med Java Vector in ArrayList
ArrayList je nesinhroniziran in ni varen, vendar je Vector sinhroniziran in ima eno nit za klicanje metod hkrati. Ko pa je varnost ena sama nit z navojem, je ArrayList edina izbira, če pa delamo na večnamensko branje, moramo dati prednost Vektorjem. Če dvomimo ali zmedemo podatke, lahko izberemo vektor, ker lahko v vektorju nastavimo vrednost prirasta.
Vektor lahko uporablja tako vmesnik Enumeration kot Iterator za prečkanje elementov, ArrayList pa lahko za prečkanje uporablja le vmesnik Iterator. V vektorju Če uporabljate ovoj celote, ne boste mogli spremeniti celotne vrednosti. V vektorju imata dve najpogosteje uporabljeni metodi Next () in next (). ArrayLists so ustvarjeni z začetno velikostjo, ker če se dodajo predmeti, se poveča velikost in objekti, ki odstranjujejo velikost, se samodejno zmanjšujejo.
Vektorski razred v Javi izvaja dinamični niz predmetov. Je popolnoma enak matriki, vsebuje elemente, dostopne s preprostim celi indeks. Velikost Vektorja pa se lahko poveča ali zmanjša, tako da lahko dodate in odstranjujete predmete po potrebi.
Java Vector in ArrayList zagotavljata matriko, ki se lahko poveča, kar pomeni, da lahko povečate prostor. Java ponuja vektorski razred za zagotavljanje dinamične velikosti, splošnih in uporabnih vnaprej določenih metod (metode smo že videli na strani 1). Če je velikost fiksna, uporabite matriko; uporabite Vector, če se velikost lahko spremeni. Tako Java Vector kot ArrayList temeljita na indeksu in uporabljata matriko notranje in oba Java Vector proti ArrayList vzdržujeta vrstni red vstavljanja elementov. Java ponuja razred ArrayList, ki zagotavlja podobne funkcije kot vektorske dinamične, splošne in uporabne vnaprej določene metode.
Java Vector in ArrayList oba razreda, ki se uporabljata za dinamično uporabo nizov. Razred ArrayList - E določa vrsto predmetov, ki jih array lahko hrani. Tu je ustvarjena matrika spremenljivka, ki se lahko poveča ali zmanjša na podlagi razporeditve predmetov. Vector :: class Vector - E predstavlja vrsto predmeta, ki bo shranjen v matriki.
Priporočeni tečaji
- Podatkovne strukture in algoritmi
- Tečaji za upravljanje pomanjkljivosti
- Shell programiranje na programu Cygwin
Primerjalna tabela med Java Vector in ArrayList
Sledi primerjalna tabela med Java Vector in ArrayList
Osnove za primerjavo | Vektorji | ArrayList |
Osnovni | Vector je podedovani razred in je sinhroniziran | ArrayList ni podedovani razred in ni sinhroniziran. |
Velikost | Skoraj podvoji velikost, če se skupno število elementov poveča | Če se je število elementov povečalo, se bo ArrayList povečal za 50% svoje velikosti |
Rast podatkov | Vektorji se dinamično širijo in krčijo za optimalno uporabo prostora za shranjevanje | ArrayList dinamično raste in se krči, da ohrani optimalno uporabo pomnilnika |
Vmesnik | Vektorski vmesnik za uporabo Iterator in popisovanje | ArrayList uporablja vmesnik Iterator |
Izvedba | Vector je v primerjavi z ArrayList počasen, ker je sinhroniziran | ArrayList je hiter zaradi nesinhronizacije |
Niti varno | Da | Ne |
Predstavljeno v | Predstavljeno v verziji JDK 1.0 | Predstavljeno v verziji JDK 1.2 |
Nastavite povečanje velikosti | Vektor določa velikost prirasta | ArrayList ne določa velikosti prirastka |
Zaključek Java Vector vs ArrayList
Za konec še zaključek, da ima Java vektor in ArrayList prednosti in slabosti. Obe sta na trgu zelo uspešni. ArrayList je zadnji, če primerjamo z Vector. ArrayList je najprimernejši, če ne potrebujete sinhronizacije. Ko uporabljate Vector ali ArrayList, vedno poskusite inicializirati največjo zmogljivost, ki jo bo potreboval vaš program, saj je razširitev matrike drago. jaz
ArrayList je sinhroniziran, zakaj, ker lahko na matriki hkrati deluje več kot ena nit. Glede na matriko, če ena nit dodaja predmetu, bo ena nit istočasno odstranila predmet iz iste matrike.
Java Vector in ArrayList imata sklice na objekte. Če je matrika v celoti zasedena in če želimo dodati popolnoma nov objekt po polno zasedenosti, se bo zdaj v obeh primerih velikost povečala, vendar se glavna razlika pojavi v velikosti ArrayList, če velikost ni določena, se lahko poveča za polovico trenutnega niza, vendar vektor lahko podvoji velikost, če vrednost prirastka ni določena.
Na koncu zaključim s tem, da vedno raje uporabljam ArrayList. Zakaj zato, ker ArrayList deluje hitreje in boljše v primerjavi z vektorjem.
Priporočeni članek
To je vodnik za razlike med Java Vector in ArrayList, njihov pomen, primerjava med glavo, ključnimi razlikami, primerjalno tabelo in zaključkom. Če želite izvedeti več, si oglejte tudi naslednje članke -
- Java Performance vs Python: Kakšne so razlike
- Zmogljivost Scala vs Java: Kaj je bolje? (Infographics)
- Java vs JavaScript - 8 koristna primerjava za učenje
- Java vs Python - Top 9 pomembnih primerjav, ki se jih morate naučiti
- Java Heap vs Stack - 7 izjemnih stvari, ki bi jih morali vedeti
- Niz C # proti seznamu: Kakšne so prednosti
- Array vs ArrayList | Top 6 razlik