Što je Vector u Javi i kako ga koristimo?

Ovaj blog na temu „Vektori u Javi“ pomoći će vam da shvatite kako se vektorska klasa razlikuje od ArrayList-a i pomoći vam da naučite o različitim uključenim metodama.

Vektori u su jedna od najčešće korištenih struktura podataka u svijetu programiranja.Svi to znamo Nizovi su strukture podataka koje podatke drže linearno. Vektori također podatke pohranjuju linearno, ali za razliku od nizova, oni nemaju fiksnu veličinu. Umjesto toga, njihova se veličina može povećati na zahtjev.



Vektorska klasa je podređena klasa SažetakPopis razred i provodi na Popis .Da bismo koristili Vectors, prvo moramo uvesti klasu Vector iz paketa java.util:



import java.util.Vector

U ovom ćemo članku raspravljati o sljedećim konceptima vektora:



Započnimo!

Prednost s od Vector u Javi

  • Svojstvo dinamičke veličine vrlo je korisno jer izbjegava rasipanje memorije u slučaju da ne znamo veličinu struktura podataka u vrijeme deklaracije.
  • Kada želimo promijeniti veličinu naše strukture podataka usred programa, vektori se mogu pokazati vrlo korisnima.

Svojstvo dinamičke veličine nije jedinstveno za Vectors u Javi. Druga struktura podataka, poznata kao ArrayList, također pokazuje svojstvo dinamičke veličine. Međutim, Vektori se razlikuju od ArrayLists-a iz nekoliko razloga:

  • Prvo, Vektori su sinkronizirani što mu daje prednost u odnosu na u usporedbi s programe jer postoje rizici od oštećenja podataka.
  • Drugo, Vektori imaju neke naslijeđene funkcije koje se mogu implementirati samo na vektore, a ne i na ArrayLists.

Kako pristupiti elementima u vektoru

Članovima podataka možemo pristupiti jednostavno pomoću indeksa elementa, baš kao što pristupimo elementima u Nizovima.



Primjer- Ako želimo pristupiti trećem elementu u vektoru v, jednostavno ga nazivamo v [3].

Vektori Konstruktori

Dolje su navedene višestruke varijacije vektora konstruktori dostupno za upotrebu:

  1. Vektor (int InitiCapacity, int Increment) - Konstruira vektor s danim početnim kapacitetom i njegovim Prirastom u veličini.
  2. Vektor (int početni kapacitet) - Konstruira prazan vektor s danim početnim kapacitetom. U ovom slučaju, prirast je nula.
  3. Vektor() - Konstruira zadani vektor kapaciteta 10.
  4. Vektor (zbirka c) - Konstruira vektor s danom zbirkom, redoslijed elemenata je isti onom koji vraća iterator zbirke.

Postoje i tri zaštićena parametra u vektorima

  1. Int capacityIncrement () - Automatski povećava kapacitet vektora kada veličina postane veća od kapaciteta.
  2. Int elementCount () - reći broj elemenata u vektoru
  3. Object [] elementData () - niz u kojem su pohranjeni elementi vektora

Najčešće greške u deklaraciji vektora

  • Vector baca IlegalArgumentException ako je InitialSize definiranog vektora negativan.
  • Ako je navedena zbirka null, ona baca NullPointerException

Bilješka:

  1. Ako vektorski priraštaj nije naveden, tada će to biti kapacitetudvostručen u svakom ciklusu povećanja.
  2. Kapacitet vektora ne može biti manji od veličine, može mu biti jednak.

Razmotrimo primjer inicijalizacije Vektorskih konstruktora.

Primjer: Inicijalizacija vektorskih konstruktora

/ Java kod koji ilustrira Vector Constructors import java.util. * Javna klasa Main {public static void main (String [] args) {// stvoriti zadani vektor Vector v1 = new Vector () // stvoriti vektor zadane Vektor vektor v2 = novi vektor (20) // stvori vektor zadane veličine i povećanja vektor v3 = novi vektor (30,10) v2.add (100) v2.add (100) v2.add (100) // stvori vektor s danim zbirka Vector v4 = novi Vector (v2) System.out.println ('Vector v1 kapaciteta' + v1.capacity ()) System.out.println ('Vector v2 kapaciteta' + v2.capacity ()) System.out .println ('Vector v3 kapaciteta' + v3.capacity ()) System.out.println ('Vector v4 kapaciteta' + v4.capacity ())}

Izlaz

Konstruktori - Vektori u Javi - Edureka

Dodjela memorije vektora

Do sada ste morali shvatiti da Vektori nemaju fiksnu veličinu, već imaju mogućnost dinamičke promjene veličine. Moglo bi se pomisliti da vektori dodjeljuju neodređeni dugi prostor za pohranu objekata. Ali to nije slučaj. Vektori mogu promijeniti svoju veličinu na temelju dva polja 'kapacitet' i 'kapacitetInkrement'. U početku se dodjeljuje veličina jednaka polju 'kapacitet' kad se deklarira vektor. Možemo umetnuti elemente jednake kapacitetu. Ali čim je umetnut sljedeći element, on povećava veličinu niza za veličinu 'capacityIncrement'. Stoga je u stanju dinamički mijenjati svoju veličinu.

Za zadani konstruktor , kapacitet se udvostručuje kad god je kapacitet pun i treba umetnuti novi element.

Primjer - Pretpostavimo da imamo vektor InitialCapacity 5 i kapacitetUvećanje od 2. Dakle, početna veličina vektora je 5 elemenata U ovaj vektor ubacujemo jedan po jedan element, naime 1,2,3,4,5. Kada pokušamo umetnuti drugi element u vektor, naime 6, veličina vektora povećat će se za 2. Stoga je veličina vektora sada 7. Dakle, vektor lako prilagođava svoju veličinu prema br. elemenata.

Još jedna zanimljiva stvar je da za razliku od nizova, vektori ne sadrže stvarne objekte, već samo reference na objekte. Stoga omogućuje objektima različitih tipova podataka pohranjivanje u isti vektor.

Metode u vektoru

Pogledajmo nekoliko vrlo često korištenih vektorskih metoda.

  • Logičko dodavanje (objekt o) - Dodaje element na kraju vektora.
// Java kôd koji prikazuje logičku metodu add () import java.util. * Javna klasa Main {javna statička void glavna (String [] args) {Vector v = new Vector () // Stvara zadani vektor v.add (1 ) // Dodaje 1 na kraju popisa v.add ('Java') // Dodaje 'Java' na kraju popisa v.add ('je') // Dodaje 'je' na kraju popis v.add ('Zabava') // Dodaje 'Zabavu' na kraju popisa System.out.println ('Vektor je' + v)}}

Izlaz

  • Nevažeće dodavanje (int indeks, E element) - Dodaje dati element s navedenim indeksom u vektoru
// Java kôd prikazuje void add () metodu uvoz java.util. * Javna klasa Main {javna statička void glavna (String [] args) {Vector v = new Vector () // Stvara zadani vektor v.add (0 , 1) // Dodaje 1 u indeks 0 v.add (1, 'Java') // Dodaje 'Java' u indeks 1 v.add (2, 'je') // Dodaje 'je' u indeks 2 v.add (3, 'Zabava') // Dodaje 'Zabava' u indeks 3 v.add (4, '!!!') // Dodaje 'Zabava' u indeks 4 System.out.println (' Vektor je '+ v)}}

Izlaz

  • Logičko uklanjanje (objekt o) - Uklanja uklanjanje elementa na zadanom indeksu u vektoru
// Java kôd koji prikazuje logičku metodu remove () import java.util. * Javna klasa Main {public static void main (String [] args) {Vector v = new Vector () // Stvara zadani vektor v.add (1 ) // Dodaje 1 na kraju popisa v.add ('Java') // Dodaje 'Java' na kraju popisa v.add ('je') // Dodaje 'je' na kraju popis v.add ('Zabava') // Dodaje 'Zabavu' na kraju popisa System.out.println ('Vektor prije uklanjanja' + v) v.remove (1) System.out.println ('Vektor nakon uklanjanje '+ v)}}

Izlaz

  • Boolean removeElement ( Objekt objekta) - Brisa element pod imenom obj (ne indeksnim brojem)
// Java kôd koji prikazuje metodu removeElement () import java.util. * Javna klasa Main {public static void main (String [] args) {Vector v = new Vector () // Stvara zadani vektor v.add (1) // Dodaje 1 na kraju popisa v.add ('Java') // Dodaje 'Java' na kraju popisa v.add ('je') // Dodaje 'je' na kraju popisa v.add ('Zabava') // Dodaje 'Zabavu' na kraju popisa System.out.println ('Vektor prije uklanjanja' + v) v.removeElement ('Java') System.out.println ('Vektor nakon uklanjanja '+ v)}}

Izlaz

  • Int veličina () - Vraća veličinu vektora.
// Java kôd prikazuje metodu size () uvoz java.util. * Javna klasa Main {javna statička void glavna (String [] args) {Vector v = new Vector () // Stvara zadani vektor v.add (0, 1) // Dodaje 1 u indeks 0 v.add (1, 'Java') // Dodaje 'Java' u indeks 1 v.add (2, 'je') // Dodaje 'je' u indeks 2 v.add (3, 'Zabava') // Dodaje 'Zabavu' na indeks 3 System.out.println ('Vektorska veličina je' + v.size ())}}

Izlaz

  • Int kapacitet () - Vraća kapacitet vektora
// Java kôd koji prikazuje sposobnost () metoda java.util. * Javna klasa Main {javna statička void glavna (String [] args) {Vector v = new Vector () // Stvara zadani vektor v.add (0, 1) // Dodaje 1 u indeks 0 v.add (1, 'Java') // Dodaje 'Java' u indeks 1 v.add (2, 'je') // Dodaje 'je' u indeks 2 v.add (3, 'Zabava') // Dodaje 'Zabavu' kod indeksa 3 System.out.println ('Vektorski kapacitet je' + v.capacity ())}}

Izlaz

  • Object get (int index) - Vraća element na danom položaju u vektoru
// Java kôd koji prikazuje metodu get () uvoz java.util. * Javna klasa Main {javna statička void glavna (String [] args) {Vector v = new Vector () // Stvara zadani vektor v.add (1) // Dodaje 1 na kraju popisa v.add ('Java') // Dodaje 'Java' na kraju popisa v.add ('je') // Dodaje 'je' na kraju popisa v.add ('Zabava') // Dodaje 'Zabavu' na kraju popisa System.out.println ('Element u indeksu 1 je' + v.get (1))}}

Izlaz

  • Objekt firstElement () - Vraća prvi element
// Java kôd koji prikazuje metodu firstElement () uvoz java.util. * Javna klasa Main {javna statička void glavna (String [] args) {Vector v = new Vector () // Stvara zadani vektor v.add (1) // Dodaje 1 na kraju popisa v.add ('Java') // Dodaje 'Java' na kraju popisa v.add ('je') // Dodaje 'je' na kraju popisa v.add ('Zabava') // Dodaje 'Zabavu' na kraju popisa System.out.println ('Prvi element je' + v.firstElement ())}}

Izlaz

  • Objekt lastElement () - Vraća posljednji element
// Java kôd prikazuje lastElement () metodu uvoz java.util. * Javna klasa Main {javna statička void glavna (String [] args) {Vector v = new Vector () // Stvara zadani vektor v.add (1) // Dodaje 1 na kraju popisa v.add ('Java') // Dodaje 'Java' na kraju popisa v.add ('je') // Dodaje 'je' na kraju popisa v.add ('Zabava') // Dodaje 'Zabavu' na kraju popisa System.out.println ('Posljednji element je' + v.lastElement ())}}

Izlaz

  • Boolean jednako (Objekt o) - Uspoređuje vektor s navedenim objektom radi jednakosti. Vraća true ako su svi elementi istiniti u odgovarajućim indeksima
// Java kôd prikazuje metodu boolean equals () import java.util. * Javna klasa Main {public static void main (String [] args) {Vector v = new Vector () // Stvara zadani vektor Vector vcopy = new Vector () v.add (1) // Dodaje 1 na kraju popisa v.add ('Java') // Dodaje 'Java' na kraju popisa v.add ('je') // Dodaje ' je 'na kraju popisa v.add (' Zabava ') // Dodaje' Zabava 'na kraju popisa vcopy.add (0,1) // Dodaje 1 na indeks 0 vcopy.add (1, 'Java') // Dodaje 'Java' u indeks 1 vcopy.add (2, 'je') // Dodaje 'je' u indeks 2 vcopy.add (3, 'Zabava') // Dodaje 'Zabavu' na indeksu 3 vcopy.add (4, '!!!') // Dodaje 'Zabava' na indeks 4 ako (v.equals (vcopy)) System.out.println ('Oba su vektora jednaka') else System .out.println ('Vektori nisu jednaki')}}

Izlaz

  • Trimtosize praznine () - Ova metoda uklanja dodatni kapacitet i zadržava kapacitet samo za držanje elemenata, tj. Jednaku veličini
// Java kôd koji prikazuje metodu trimToSize () uvoz java.util. * Javna klasa Main {javna statička void glavna (String [] args) {Vector v = new Vector () // Stvara zadani vektor v.add (0, 1) // Dodaje 1 u indeks 0 v.add (1, 'Java') // Dodaje 'Java' u indeks 1 v.add (2, 'je') // Dodaje 'je' u indeks 2 v.add (3, 'Zabava') // Dodaje 'Zabavu' u indeks 3 System.out.println ('Vektorski kapacitet je' + v.capacity ()) v.trimToSize () System.out.println ( 'Vektorski kapacitet je' + v.capacity ())}}

Izlaz


Ostale važne metode

Do sada ste sigurno imali dobru ideju o radu s vektorima. Ako želite istražiti više vektorskih metoda, pogledajte donju tablicu.

Naziv metode Funkcija metode

Boolean isEmpty ()

provjerava postoje li elementi ili ne

Boolean sadrži (objekt o)

koristi se za provjeru postojanja određenog elementa, recimo o

int indexOf (objekt o)

Vraća indeks elementa o

void removeRange (int s, int e)

uklanja elemente iz vektora počevši od s i završavajući s (e-1)

void clear ()

uklanja sve elemente

void secureCapacity (int c)

Povećava kapacitet za c

void setSize (int s)

Postavlja veličinu na s. Ako je s> veličina, dodatni kapacitet popunjava se null vrijednostima. Ako s

Object elementAt (int a)

vraća element koji postoji pod indeksnim brojem a

Skup objekata (int a, Objekt o)

zamjenjuje element prisutan u indeksu a zadanim elementom o

Objekt [] uArray ()

vraća niz koji sadrži iste elemente kao i vektor

Klon objekta ()

Vektorski objekt se kopira

Boolean addAll (Zbirka c)

dodaje sve elemente zbirke c u vektor

Logički addAll (int a, Zbirka c)

ubacuje sve elemente zbirke c na vektor pri navedenom indeksu a

Boolean retainAll (Zbirka c)

zadržava sve elemente u vektoru koji također postoje u zbirci c

Popis popisa (int s, int e)

vraća elemente kao objekt liste, počevši od s i završavajući s (e-1) iz vektora.

Kako se završava svaka dobra stvar, tako prestaje i naš blog na Vectors u . Nadamo se da smo na ovom blogu uspjeli pokriti sve aspekte java vektora, a vi ste uspjeli prikupiti neko znanje o vektorima.

Obavezno vježbajte što je više moguće i vratite svoje iskustvo.

kako postati ai inženjer

Pogledajte Edureka, pouzdane tvrtke za internetsko učenje s mrežom od više od 250 000 zadovoljnih učenika raširenih širom svijeta. Ovdje smo da vam pomognemo u svakom koraku na putovanju, jer osim što postajete pitanja za ovaj intervju za javu, donosimo kurikulum koji je dizajniran za studente i profesionalce koji žele biti programer za Javu.

Imate pitanje za nas? Molimo vas da ga spominjete u odjeljku za komentare ovog 'Vektora u Javi' članka i javit ćemo vam se u najkraćem mogućem roku.