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 metodaNova 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 primerjavoVektorjiArrayList
OsnovniVector je podedovani razred in je sinhroniziranArrayList ni podedovani razred in ni sinhroniziran.
VelikostSkoraj 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 podatkovVektorji se dinamično širijo in krčijo za optimalno uporabo prostora za shranjevanjeArrayList dinamično raste in se krči, da ohrani optimalno uporabo pomnilnika
VmesnikVektorski vmesnik za uporabo Iterator in popisovanjeArrayList uporablja vmesnik Iterator
IzvedbaVector je v primerjavi z ArrayList počasen, ker je sinhroniziranArrayList je hiter zaradi nesinhronizacije
Niti varnoDaNe
Predstavljeno vPredstavljeno v verziji JDK 1.0Predstavljeno v verziji JDK 1.2
Nastavite povečanje velikostiVektor določa velikost prirastaArrayList 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 -

  1. Java Performance vs Python: Kakšne so razlike
  2. Zmogljivost Scala vs Java: Kaj je bolje? (Infographics)
  3. Java vs JavaScript - 8 koristna primerjava za učenje
  4. Java vs Python - Top 9 pomembnih primerjav, ki se jih morate naučiti
  5. Java Heap vs Stack - 7 izjemnih stvari, ki bi jih morali vedeti
  6. Niz C # proti seznamu: Kakšne so prednosti
  7. Array vs ArrayList | Top 6 razlik