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 metoda | Nova 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 usporedbu | vektori | ArrayList |
Osnovni, temeljni | Vector je naslijeđena klasa i sinkroniziran je | ArrayList nije naslijeđena klasa i nije sinkroniziran. |
Veličina | Gotovo će udvostručiti veličinu ako se ukupan broj elemenata poveća | ArrayList će se povećati za 50% svoje veličine ako se povećao broj elemenata |
Rast podataka | Vektori se dinamički rastu i smanjuju za održavanje optimalne upotrebe prostora za pohranu | ArrayList dinamički raste i smanjuje se za održavanje optimalne uporabe prostora za pohranu |
Sučelje | Vektor upotrebljava sučelje i prebrojavanje vektora | ArrayList koristi sučelje iteratora |
Izvođenje | Vektor je spor u odnosu na ArrayList jer je sinkroniziran | ArrayList je brz zbog ne-sinkronizacije |
Navoj siguran | Da | Ne |
Predstavljen u | Uvedeno u verziju JDK 1.0 | Uvedeno u verziju JDK 1.2 |
Postavljanje veličine prirasta | Vektor definira veličinu prirasta | ArrayList 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 -
- Java Performance vs Python: Koje su razlike
- Performanse Scala vs Java: Koji je bolji? (Infografikama)
- Java vs JavaScript - 8 korisnih usporedbi za učenje
- Java vs Python - prvih 9 važnih usporedbi koje morate naučiti
- Java Heap vs Stack - 7 fenomenalnih stvari koje biste trebali znati
- C # niz prema popisu: Koje su prednosti
- Array vs ArrayList | Top 6 razlike