Kaj je Vector v Javi in ​​kako ga uporabljamo?



Ta spletni dnevnik o vektorjih v Javi vam bo pomagal razumeti, kako se vektorski razred razlikuje od ArrayList, in vam pomagal spoznati različne vključene metode.

Vektorji v so ena najpogosteje uporabljenih podatkovnih struktur v programskem svetu.To vsi vemo Polja so podatkovne strukture, ki podatke hranijo linearno. Vektorji podatke shranjujejo tudi linearno, vendar za razliko od nizov nimajo fiksne velikosti. Namesto tega se lahko njihova velikost na zahtevo poveča.

Vektorski razred je podrejeni razred PovzetekList razred in izvaja na Seznam .Za uporabo Vektorjev moramo najprej uvoziti razred Vector iz paketa java.util:





uvoz java.util.Vector

V tem članku bomo razpravljali o naslednjih konceptih vektorjev:



Začnimo!

Prednost s Vector v Javi

  • Lastnost dinamične velikosti je zelo koristna, saj se izogne ​​izgubi pomnilnika, če ne poznamo velikosti podatkovna struktura v času izjave.
  • Ko želimo sredi programa spremeniti velikost naše podatkovne strukture, se lahko vektorji izkažejo za zelo koristne.

Lastnost dinamične velikosti ni edinstvena za Vectors v Javi. Druga podatkovna struktura, znana kot ArrayList, prav tako prikazuje lastnost dinamične velikosti. Vendar se Vektorji razlikujejo od ArrayLists iz nekaj razlogov:

  • Prvič, Vektorji so sinhronizirani, kar mu daje prednost pred v primerjavi z programov, saj obstaja tveganje za korupcijo podatkov.
  • Drugič, Vektorji imajo nekatere starejše funkcije, ki jih je mogoče izvajati samo na vektorjih in ne na ArrayLists.

Kako dostopati do elementov v vektorju

Do članov podatkov lahko dostopamo preprosto z uporabo indeksa elementa, tako kot do elementov v nizih.



Primer- Če želimo dostopati do tretjega elementa v vektorju v, ga preprosto imenujemo v [3].

preklopnik v primeru Java programov

Vektorji Konstruktorji

Spodaj so navedene številne različice vektorja konstruktorji na voljo za uporabo:

  1. Vektor (int začetna zmogljivost, povečanje int) - konstruira vektor z dano začetno zmogljivostjo in njenim prirastkom v velikosti.
  2. Vektor (int začetna zmogljivost) - Konstruira prazen vektor z dano začetno zmogljivostjo. V tem primeru je prirast nič.
  3. Vektor () - konstruira privzeti vektor zmogljivosti 10.
  4. Vektor (zbirka c) - Konstruira vektor z dano zbirko, vrstni red elementov je enak vrstnemu redu, ki ga vrne iterator zbirke.

V vektorjih so tudi trije zaščiteni parametri

  1. Int capacityIncrement () - Samodejno poveča kapaciteto vektorja, ko velikost postane večja od zmogljivosti.
  2. Int elementCount () - pove število elementov v vektorju
  3. Object [] elementData () - matrika, v kateri so shranjeni elementi vektorja

Najpogostejše napake pri izjavi vektorjev

  • Vektor vrže IllegalArgumentException če je InitialSize definiranega vektorja negativna.
  • Če je navedena zbirka nič, vrže NullPointerException

Opomba:

  1. Če vektorski prirastek ni določen, bo njegova zmogljivostpodvojila v vsakem koraku.
  2. Kapaciteta vektorja ne sme biti manjša od velikosti, lahko ji je enaka.

Oglejmo si primer inicializacije Vectors Constructors.

Primer: Inicializacija vektorskih konstruktorjev

/ Java koda, ki ponazarja Vector Constructors import java.util. * Javni razred Main {public static void main (String [] args) {// ustvari privzeti vektor Vector v1 = new Vector () // ustvari vektor dane velikosti Vector v2 = new Vector (20) // ustvarimo vektor dane velikosti in povečanja Vector v3 = new Vector (30,10) v2.add (100) v2.add (100) v2.add (100) // ustvarimo vektor z dano zbirka Vector v4 = new Vector (v2) System.out.println ('Vector v1 kapacitete' + v1.capacity ()) System.out.println ('Vector v2 of capacity' + v2.capacity ()) System.out .println ('Vector v3 zmogljivosti' + v3.capacity ()) System.out.println ('Vector v4 kapacitete' + v4.capacity ())}

Izhod

Konstruktorji - Vektorji na Javi - Edureka

Dodelitev pomnilnika vektorjev

Do zdaj ste že razumeli, da Vektorji nimajo fiksne velikosti, temveč lahko dinamično spreminjajo svojo velikost. Lahko bi pomislili, da vektorji dodelijo nedoločen dolg prostor za shranjevanje predmetov. A temu ni tako. Vektorji lahko spremenijo svojo velikost na podlagi dveh polj 'capacity' in 'capacityIncrement'. Sprva se pri razglasitvi vektorja dodeli velikost, enaka polju 'zmogljivost'. Vstavimo lahko elemente, enake zmogljivosti. Toda takoj, ko je vstavljen naslednji element, poveča velikost matrike za velikost ‘capacityIncrement’. Tako lahko dinamično spreminja svojo velikost.

Za privzeti konstruktor , zmogljivost se podvoji, kadar koli je kapaciteta polna, in vstaviti je treba nov element.

Primer - Recimo, da imamo vektor InitialCapacity 5 in capacityIncrement od 2. Torej je začetna velikost vektorja 5 elementov V ta vektor vstavimo 5 elementov enega za drugim, in sicer 1,2,3,4,5. Ko poskusimo v vektor vstaviti še en element, in sicer 6, se velikost vektorja poveča za 2. Zato je velikost vektorja zdaj 7. Torej vektor enostavno prilagodi svojo velikost glede na št. elementov.

Druga zanimiva točka je, da za razliko od nizov vektorji ne vsebujejo resničnih predmetov, temveč le sklice na predmete. Zato omogoča shranjevanje predmetov različnih podatkovnih vrst v istem vektorju.

Metode v vektorju

Oglejmo si nekaj zelo pogosto uporabljenih vektorskih metod.

  • Logično dodajanje (objekt o) - Doda element na koncu vektorja.
// Java koda, ki prikazuje logično metodo add () uvoz java.util. * Javni razred Main {public static void main (String [] args) {Vector v = new Vector () // Ustvari privzeti vektor v.add (1 ) // Doda 1 na koncu seznama v.add ('Java') // Doda 'Java' na koncu seznama v.add ('je') // Doda 'je' na koncu seznam v.add ('Zabava') // Doda 'Zabava' na koncu seznama System.out.println ('Vektor je' + v)}}

Izhod

  • Void add (int Index, E element) - Dani element doda določenemu indeksu v vektorju
// Java koda, ki prikazuje metodo void add () uvoz java.util. * Javni razred Main {public static void main (String [] args) {Vector v = new Vector () // Ustvari privzeti vektor v.add (0 , 1) // Doda 1 pri indeksu 0 v.add (1, 'Java') // Doda 'Java' pri indeksu 1 v.add (2, 'je') // Doda 'je' pri indeksu 2 v.add (3, 'Zabava') // Doda 'Zabava' pri indeksu 3 v.add (4, '!!!') // Doda 'Zabava' pri indeksu 4 System.out.println (' Vektor je '+ v)}}

Izhod

  • Logično odstranjevanje (objekt o) - Odstrani odstranitev elementa pri danem indeksu v vektorju
// Java koda, ki prikazuje logično metodo remove () import java.util. * Javni razred Main {public static void main (String [] args) {Vector v = new Vector () // Ustvari privzeti vektor v.add (1 ) // Doda 1 na koncu seznama v.add ('Java') // Doda 'Java' na koncu seznama v.add ('je') // Doda 'je' na koncu seznam v.add ('Zabava') // Doda 'Zabava' na koncu seznama System.out.println ('Vektor pred odstranitvijo' + v) v.remove (1) System.out.println ('Vektor po odstranitev '+ v)}}

Izhod

  • Logično removeElement ( Predmet predmeta) - Element izbriše z imenom obj (ne z indeksno številko)
// Java koda, ki prikazuje metodo removeElement () uvoz java.util. * Javni razred Main {public static void main (String [] args) {Vector v = new Vector () // Ustvari privzeti vektor v.add (1) // Doda 1 na koncu seznama v.add ('Java') // Doda 'Java' na koncu seznama v.add ('je') // Doda 'je' na koncu seznama v.add ('Zabava') // Na koncu seznama doda 'Zabava' System.out.println ('Vektor pred odstranitvijo' + v) v.removeElement ('Java') System.out.println ('Vektor po odstranitvi '+ v)}}

Izhod

  • Int velikost () - Vrne velikost vektorja.
// Java koda, ki prikazuje metodo size () uvoz java.util. * Javni razred Main {public static void main (String [] args) {Vector v = new Vector () // Ustvari privzeti vektor v.add (0, 1) // Doda 1 pri indeksu 0 v.add (1, 'Java') // Doda 'Java' pri indeksu 1 v.add (2, 'je') // Doda 'je' pri indeksu 2 v.add (3, 'Zabava') // Doda 'Zabava' pri indeksu 3 System.out.println ('Vektorska velikost je' + v.size ())}}

Izhod

  • Int Kapaciteta () - Vrne zmogljivost vektorja
// Java koda, ki prikazuje metodo capacity () uvoz java.util. * Javni razred Main {public static void main (String [] args) {Vector v = new Vector () // Ustvari privzeti vektor v.add (0, 1) // Doda 1 pri indeksu 0 v.add (1, 'Java') // Doda 'Java' pri indeksu 1 v.add (2, 'je') // Doda 'je' pri indeksu 2 v.add (3, 'Zabava') // Doda 'Zabava' pri indeksu 3 System.out.println ('Vektorska zmogljivost je' + v.capacity ())}}

Izhod

  • Object get (indeks int) - Vrne element na danem položaju v vektorju
// Java koda, ki prikazuje metodo get () uvoz java.util. * Javni razred Main {public static void main (String [] args) {Vector v = new Vector () // Ustvari privzeti vektor v.add (1) // Doda 1 na koncu seznama v.add ('Java') // Doda 'Java' na koncu seznama v.add ('je') // Doda 'je' na koncu seznama v.add ('Zabava') // Doda 'Zabava' na koncu seznama System.out.println ('Element v indeksu 1 je' + v.get (1))}}

Izhod

  • Predmet firstElement () - Vrne prvi element
// Java koda, ki prikazuje metodo firstElement () uvoz java.util. * Javni razred Main {public static void main (String [] args) {Vector v = new Vector () // Ustvari privzeti vektor v.add (1) // Doda 1 na koncu seznama v.add ('Java') // Doda 'Java' na koncu seznama v.add ('je') // Doda 'je' na koncu seznama v.add ('Zabava') // Doda 'Zabava' na koncu seznama System.out.println ('Prvi element je' + v.firstElement ())}}

Izhod

  • Objekt lastElement () - Vrne zadnji element
// Java koda, ki prikazuje metodo lastElement () uvoz java.util. * Javni razred Main {public static void main (String [] args) {Vector v = new Vector () // Ustvari privzeti vektor v.add (1) // Doda 1 na koncu seznama v.add ('Java') // Doda 'Java' na koncu seznama v.add ('je') // Doda 'je' na koncu seznama v.add ('Zabava') // Doda 'Zabava' na koncu seznama System.out.println ('Zadnji element je' + v.lastElement ())}}

Izhod

  • Logično enako (Objekt o) - Za enakost primerja vektor z določenim objektom. Vrne true, če so vsi elementi resnični pri ustreznih indeksih
// Java koda, ki prikazuje metodo boolean equals () import java.util. * Javni razred Main {public static void main (String [] args) {Vector v = new Vector () // Ustvari privzeti vektor Vector vcopy = new Vector () v.add (1) // Doda 1 na koncu seznama v.add ('Java') // Doda 'Java' na koncu seznama v.add ('je') // Doda ' je 'na koncu seznama v.add (' Zabava ') // Doda' Zabava 'na koncu seznama vcopy.add (0,1) // Doda 1 pri indeksu 0 vcopy.add (1, 'Java') // Doda 'Java' pri indeksu 1 vcopy.add (2, 'je') // Doda 'je' pri indeksu 2 vcopy.add (3, 'Zabava') // Doda 'Zabava' pri indeksu 3 vcopy.add (4, '!!!') // Doda 'Zabava' pri indeksu 4, če (v.equals (vcopy)) System.out.println ('Oba vektorja sta enaka') else System .out.println ('Vektorji niso enaki')}}

Izhod

  • Praznina trimtosize () - Ta metoda odstrani dodatno zmogljivost in ohrani kapaciteto samo za zadrževanje elementov, tj. Enaka velikosti
// Java koda, ki prikazuje metodo trimToSize () uvoz java.util. * Javni razred Main {public static void main (String [] args) {Vector v = new Vector () // Ustvari privzeti vektor v.add (0, 1) // Doda 1 pri indeksu 0 v.add (1, 'Java') // Doda 'Java' pri indeksu 1 v.add (2, 'je') // Doda 'je' pri indeksu 2 v.add (3, 'Zabava') // Doda 'Zabava' pri indeksu 3 System.out.println ('Vektorska zmogljivost je' + v.capacity ()) v.trimToSize () System.out.println ( 'Vektorska zmogljivost je' + v.capacity ())}}

Izhod


Druge pomembne metode

Do zdaj ste že imeli dobro idejo o delu z vektorji. Če želite raziskati več vektorskih metod, si oglejte spodnjo tabelo.

Ime metode Funkcija metode

Logična isEmpty ()

preveri, ali elementi obstajajo ali ne

Logična vrednost vsebuje (predmet o)

uporablja se za preverjanje obstoja določenega elementa, recimo o

int indexOf (predmet o)

razčleni datoteko xml v javi

Vrne indeks elementa o

void removeRange (int s, int e)

odstrani elemente iz vektorja, začenši s in konča z (e-1)

prazno jasno ()

odstrani vse elemente

void secureCapacity (int c)

Zmogljivost poveča za c

void setSize (int s)

Velikost nastavi na s. Če je velikost s>, se dodatna zmogljivost zapolni z ničelnimi vrednostmi. Če s

Object elementAt (int a)

vrne element, ki obstaja na indeksni številki a

Nabor predmetov (int a, objekt o)

nadomesti element, ki je prisoten v indeksu a, z danim elementom o

Object [] toArray ()

vrne matriko, ki vsebuje enake elemente kot vektor

Klon predmeta ()

Vektorski objekt se kopira

Logična addAll (zbirka c)

vektorju doda vse elemente zbirke c

Logična addAll (int a, zbirka c)

vstavi vse elemente zbirke c na vektor pri določenem indeksu a

Boolean retainAll (zbirka c)

ohrani vse elemente v vektorju, ki obstajajo tudi v zbirki c

Seznam seznamov (int s, int e)

vrne elemente kot objekt seznama, začenši s in konča z (e-1) iz vektorja.

Ko se vsaka dobra stvar konča, se tudi naš blog na Vectors v . Upamo, da smo v tem blogu lahko zajeli vse vidike vektorjev jave, vi pa ste lahko zbrali nekaj znanja o vektorjih.

Poskrbite, da boste čim več vadili in si povrnili izkušnje.

uporabite python v vizualnem studiu

Oglejte si Edureka, zaupanja vredno podjetje za spletno učenje z mrežo več kot 250.000 zadovoljnih učencev, ki se širijo po vsem svetu. Tu smo, da vam pomagamo pri vsakem koraku na poti, saj smo poleg tega vprašanja za java intervjuji pripravili učni načrt, ki je zasnovan za študente in strokovnjake, ki želijo biti razvijalec Java.

Imate vprašanje za nas? Prosimo, omenite ga v oddelku za komentarje tega 'Vektorji v Javi' članek in se vam bomo javili v najkrajšem možnem času.