Razlike između Java Vector i ArrayList

Jedna zajednička definicija koju ćemo pamtiti dok pišemo o vektoru (Java). Java vektori se najčešće koriste umjesto nizova. Možemo dati primjere za isto - Dok se podaci automatski povećavaju, proširit će se. Možemo stvoriti vektor početne veličine ili sa zadanom početnom veličinom.

Vidjet ćemo kôd za zadanu početnu veličinu ili početnu veličinu ::

  • Stvaranje vektora sa zadanom početnom veličinom
    Vector v = novi Vector ();
  • Stvaranje vektora početne veličine
    Vektor v = novi Vektor (300);

Ispod su uobičajene vektorske metode:

  • dodaj (o)
  • čisto()
  • firstElement (i)
  • listIterator ()
  • veličina()
  • toArray (Object ())

Java ArrayList jedna je od najjednostavnijih i najčešće korištenih podataka u razredima implementacije Java API knjižnice. Glavna stvar je da koristi dinamički niz za pohranu elemenata. Jedna stvar koju bismo trebali zapamtiti prilikom stvaranja nizova su oni koji su fiksne duljine, nakon što su stvoreni, ne možemo mijenjati.

Ispod su Konstruktori

ArrayList () - pomaže u izgradnji popisa praznih nizova

ArrayList (Zbirka c) - Pomaže u izradi popisa konstruktivnih elemenata u a

Unaprijed određena kolekcija

ArrayList (int kapacitet) - pomaže u stvaranju praznog popisa.

Ispod su najčešće korištene metode :: ::

  • Booleov dodaj (E obj)
  • nevažeće dodavanje (int indeks, E obj)
  • E get (int indeks)
  • boolean sadrži (Objekt obj)
  • boolean isEmpty ()

Java je predstavljena s novom kolekcijom API-ja u Java 2.0 za pružanje ujednačenih strukturiranih klasa. Kada se uvede novi API, doći će do promjena u metodama. Sada ćemo vidjeti neke stare i nove metode promijenjene u vrijeme promjene API-ja.

Stara metodaNova metoda
Objekt elementAt (int)Dobivanje objekta (int)
void insertElementAt (Objekt, int)nevažeće dodavanje (indeks, objekt)
void addElement (Objekt)boolean add (Objekt)
void setElementAt (int)Skup objekta (int, objekt)
void removeElementAt (int)void remove (int)
void removeAllElements ()praznina jasno ()

Usporedba između softvera Java Vector i ArrayList (Infographics)

Ispod je top 8 usporedba Java Vector i ArrayList

Ključne razlike između Java Vector i ArrayList-a

Ispod su popisi točaka, opišite ključne razlike između Java Vector-a i ArrayLista

ArrayList je Non-sinkroniziran i nije siguran od strane niti Vector je sinkroniziran i ima jednu nit za pozivanje metoda odjednom. Ali kada je sigurnost jedan slučaj s navojem, ArrayList je jedini izbor, ali ako radimo na multithreadingu onda moramo preferirati Vectors. Ako sumnjamo ili zbunjujemo u podatke, tada možemo odabrati vektor jer u vektoru možemo postaviti vrijednost prirasta.

Vektor može koristiti i Enumeration i Iterator sučelje za prelazak kroz elemente, ali ArrayList može koristiti Iterator sučelje samo za prolazak. Vektorski Ako koristite Integer omotač, nećete moći promijeniti cijelu vrijednost. U vektoru dvije najčešće korištene metode imaju Next () i next (). ArrayLists kreiraju se s početnom veličinom jer će se, ako se objekti dodaju, povećavati veličina i objekti koji uklanjaju veličina automatski će se smanjivati.

Vektorska klasa u Javi implementira dinamički niz objekata. To je potpuno identičan nizu, sadrži elemente dostupne pomoću jednostavnog cijelog indeksa. No, veličina Vektora može narasti ili se smanjiti kako bi se prilagodili dodavanju i uklanjanju predmeta prema potrebi.

Java Vector i ArrayList nude niz koji se može prilagoditi što znači niz koji može povećati prostor. Java nudi vektorsku klasu radi pružanja dinamičke veličine, generičkih i korisnih unaprijed definiranih metoda (metode smo već vidjeli na stranici1). Upotrijebite niz ako je veličina fiksna; koristite Vektor ako se veličina može promijeniti. I Java Vector i ArrayList temelje se na indeksu i koriste matricu iznutra, a oba Java Vector vs ArrayList održavaju redoslijed umetanja elemenata. Java nudi klasu ArrayList koja pruža slične značajke kao što su Vector dinamične, generičke i korisne unaprijed definirane metode.

Java vektor i ArrayList obje klase koriste se za dinamičko korištenje nizova. Class ArrayList - E određuje vrstu objekata koje matrica može držati. Ovdje stvoreni niz je varijabilni i može se povećavati ili smanjivati ​​na temelju dodjele objekta. Vector :: class Vector - E predstavlja vrstu objekta koji će biti spremljen u nizu.

Preporučeni tečajevi

  • Tečaj podataka o strukturama podataka i algoritama
  • Tečajevi defektnog upravljanja
  • Shell programiranje na Cygwin programu

Tablica usporedbe Java Vector i ArrayList

Slijedi usporedna tablica Java Vector vs ArrayList

Osnove za usporedbuvektoriArrayList
Osnovni, temeljniVector je naslijeđena klasa i sinkroniziran jeArrayList nije naslijeđena klasa i nije sinkroniziran.
VeličinaGotovo će udvostručiti veličinu ako se ukupan broj elemenata povećaArrayList će se povećati za 50% svoje veličine ako se povećao broj elemenata
Rast podatakaVektori se dinamički rastu i smanjuju za održavanje optimalne upotrebe prostora za pohranuArrayList dinamički raste i smanjuje se za održavanje optimalne uporabe prostora za pohranu
SučeljeVektor upotrebljava sučelje i prebrojavanje vektoraArrayList koristi sučelje iteratora
IzvođenjeVektor je spor u odnosu na ArrayList jer je sinkroniziranArrayList je brz zbog ne-sinkronizacije
Navoj siguranDaNe
Predstavljen uUvedeno u verziju JDK 1.0Uvedeno u verziju JDK 1.2
Postavljanje veličine prirastaVektor definira veličinu prirastaArrayList ne definira veličinu prirasta

Zaključak Java Vector vs ArrayList

Za kraj da zaključimo da Java vektor i ArrayList imaju prednosti i nedostatke. Oboje su vrlo uspješni na tržištu. ArrayList je nedavno novi ako usporedimo s Vektorom. Ako vam nije potrebna sinkronizacija, preferira se ArrayList. Kada koristite Vector ili ArrayList, uvijek pokušajte inicijalizirati najveći kapacitet koji će vam trebati jer vam je proširenje polja skupo. ja

ArrayList je sinkroniziran zašto, jer više polja može raditi na polju istovremeno, U odnosu na niz ako se jedna nit dodaje objektu, druga nit istodobno uklanja objekt iz iste matrice.

Java Vector i ArrayList sadrže reference na objekte. Ako je niz potpuno zauzet i ako želimo dodati novi objekt nakon što je u potpunosti zauzet, sada će se u oba slučaja veličina povećati, ali glavna razlika dolazi u veličini u ArrayListu ako veličina nije određena, može se povećati za polovicu trenutne matrice, ali vektor može udvostručiti veličinu ako vrijednost prirasta nije navedena.

Na kraju zaključujem tvrdnjom da uvijek preferira korištenje ArrayLista. Zašto zato što ArrayList radi brže i bolje u usporedbi s Vektorskim.

Preporučeni članak

Ovo je vodič za razlike između Java Vector-a i ArrayList-a, njihovog značenja, uporedbe između glave, glave, ključne razlike, tablice usporedbe i zaključka. Možete pogledati i sljedeće članke da biste saznali više -

  1. Java Performance vs Python: Koje su razlike
  2. Performanse Scala vs Java: Koji je bolji? (Infografikama)
  3. Java vs JavaScript - 8 korisnih usporedbi za učenje
  4. Java vs Python - prvih 9 važnih usporedbi koje morate naučiti
  5. Java Heap vs Stack - 7 fenomenalnih stvari koje biste trebali znati
  6. C # niz prema popisu: Koje su prednosti
  7. Array vs ArrayList | Top 6 razlike

Kategorija: