what is java vector java vector class tutorial with examples
Ta vadnica s primeri pojasnjuje vse o strukturi vektorskih podatkov v Javi. Naučili se boste ustvarjati, začenjati, razvrščati in uporabljati vektor Java v svojih programih:
Vektor lahko definiramo kot dinamično polje, ki se lahko samostojno poveča ali skrči, tj.vektor se bo povečal, ko mu bomo dodali več elementov, in se bo zmanjšal, ko bodo elementi odstranjeni iz njega.
To vedenje je drugačno od nizov, ki so statični. Toda podobno kot nizi je tudi do vektorskih elementov mogoče dostopati s celoštevilskimi indeksi.
=> Tukaj si oglejte A-Z vadnic za učenje Java.
Vektor je mogoče videti kot podoben drugi strukturi podatkov dinamičnega polja, ArrayList, razen dveh spodnjih razlik:
- Vektor je sinhroniziran, to pomeni, da so vse metode v vektorju označene kot „sinhronizirane“, tako da po priklicu metode iste metode ni mogoče priklicati, če se prejšnji klic ni končal.
- Vektorski razred ima veliko metod, ki niso del okvira zbirk, temveč njegove stare metode.
Kaj se boste naučili:
Java Vector Class
Razred Vector je poleg ' java.util ”In izvaja vmesnik List. Vector je niz predmetov ali vektor predmetov.
Izjava o razredu razreda Vector je podana spodaj:
public class Vector extends Object implements List, Cloneable, Serializable
Kot je prikazano zgoraj, se vektorski razred razširi ' java.lang.object ”In izvaja vmesnike List, Cloneable in Serializable.
Kako ustvariti vektor v Javi?
Objekt Vector lahko ustvarite s katero koli od naslednjih metod konstruktorja Vector.
kako ravnati s pojavnim oknom v selenu
Prototip konstruktorja | Opis | |
---|---|---|
Jasno | Razveljavi prazno () | Počisti vektor njegovih elementov. |
vektor () | To je privzeti konstruktor razreda Vector. Ustvari prazen vektor z velikostjo 10. | |
vektor (int začetna zmogljivost) | Ta preobremenjeni konstruktor ustvari prazen vektorski objekt z zmogljivostjo = InitialCapacity. | |
vektor (int začetna zmogljivost, int zmogljivost prirast) | Ta metoda konstruktorja ustvari prazen vektorski objekt z določenimi začetnimiCapacity in capacityIncrement. | |
Vektor (zbirka c) | Predmet Vector se ustvari z začetnimi elementi iz določene zbirke c. |
Oglejmo si vsakega konstruktorja za inicializiranje vektorskih objektov.
Inicializirajte vektor
(i) Vektor ()
To je privzeti konstruktor razreda Vector. Ko prikličete ta konstruktor, se ustvari objekt Vector s privzeto velikostjo 10.
Splošna sintaksa te metode je:
Vektorski objekt = nov vektor ();
Na primer,
Vector vec1 = new Vector ();
Zgornja izjava ustvari nov vektor 'vec1' z velikostjo 10.
(ii) Vektor (int začetna zmogljivost)
Preobremenjeni konstruktor razreda Vector kot argument sprejme »začetno kapaciteto«. Ta konstruktor ustvari objekt Vector z določeno zmogljivostjo.
Splošna sintaksa metode je:
Vektorski objekt = nov vektor (začetna zmogljivost);
Na primer,
Vector vec1 = new Vector (10);
Zgornja izjava o programiranju bo ustvarila vektorski objekt „vec1“ s kapaciteto 10, tj. Ta vektor lahko shrani do 10 elementov.
(iii) vektor (int začetna zmogljivost, int zmogljivost prirast)
To je še en preobremenjeni konstruktor razreda Vector in ustvari objekt Vector z določeno začetno zmogljivostjo in prirastkom za zmogljivost.
Splošna sintaksa te metode je:
Vektorski objekt = nov vektor (začetna zmogljivost, povečanje zmogljivosti);
Na primer,
Vector vec1 = new Vector(5,10);
V zgornji izjavi je začetna zmogljivost Vektorja 5 in prirastek 10. To pomeni, da je 6thelement se vstavi v vektor, zmogljivost vektorja se poveča na 15 (5 + 10). Podobno, ko je 16thelement, se vektorska zmogljivost vektorja poveča na 25 (15 +10).
(iv) Vektor (zbirka c)
Zadnji preobremenjeni konstruktor razreda Vector kot argument vzame vnaprej določeno zbirko in ustvari Vector z vsemi elementi iz te zbirke kot elementi.
Splošna sintaksa je:
Vektorski objekt = nov vektor (zbirka c);
Na primer,
Vector vec1 = new Vector(aList); where aList = {1,2,3,4,5};
Zgornja izjava bo ustvarila Vector 'vec1' z začetnimi elementi kot {1,2,3,4, 5}.
Če upoštevamo vse te opise, bomo izvedli program Vector, da bomo bolje razumeli te konstruktorje.
Vektorske metode v Javi
Sledijo metode, ki jih podpira razred Vector v Javi.
Ime metode | Prototip | Opis |
---|---|---|
dodaj | Logično dodajanje (E e) | Dodan element doda na konec vektorja. |
Neveljavno dodajanje (indeks int, element E) | Dodajte element vektorju pri določenem indeksu. | |
addAll | Logična addAll (zbirka c) | Doda vse elemente iz dane zbirke na konec vektorja. |
Logična addAll (indeks int, zbirka c) | V določenem indeksu doda vse elemente v navedeni zbirki. | |
addElement | void addElement (E obj) | Doda navedeni element na koncu vektorja s povečanjem velikosti vektorja. |
Zmogljivost | Int zmogljivost () | Vrne trenutno zmogljivost vektorja. |
Klon | Klon predmeta () | Klonira vektor. |
Vsebuje | Logična vrednost vsebuje (predmet o) | Preveri, ali vektor vsebuje določen element. |
vsebuje vse | Logična vrednost vsebuje vse (zbirka c) | Preveri, ali vektor vsebuje vse elemente v dani zbirki. |
copyInto | Void copyInto (Object () anArray) | Kopira vektorske elemente v dano matriko. |
ElementAt | E ElementAt (indeks int) | Vrne vektorski element pri podanem indeksu. |
Elementi | Elementi naštevanja () | Vrne oštevilčene komponente za vektor. |
zagotovitiCapacity | Void secureCapacity (int minCapacity) | Poveča zmogljivost vektorja, da doseže določeno najmanjšo zmogljivost. |
Ime metode | Prototip | Opis |
---|---|---|
insertElementAt | Void insertElementAt (E obj, indeks int) | Vstavi dani predmet v vektor pri danem indeksu. |
Enako | Logično enako (objekt o) | Primerja trenutni vektor z določenim vektorjem, da preveri, ali sta enaka. |
firstElement | E firstElement () | Vrne prvi element vektorja pri indeksu 0. |
Pojdi | E get (indeks int) | Vrne element v vektorju z navedenim indeksom. |
hashCode | int hashCode () | Vrne vrednost zgoščene kode za vektor. |
indeks | int indexOf (predmet o) | najde indeks prvega pojavljanja danega elementa v vektorju; -1, če element ni prisoten v vektorju. |
int indexOf (objekt o, indeks int) | Išče vektor iz danega indeksa v smeri naprej za navedeni element; vrne indeks, če je element najden, sicer -1, če elementa ni mogoče najti. | |
je prazno | Logična isEmpty () | Preveri, ali je vektor prazen. |
Iterator | Iteratoriterator () | Vrne iterator, ki se uporablja za prehod po elementih vektorja. |
lastElement | E lastElement () | Vrne zadnji element vektorja. |
lastIndexOf | Int lastIndexOf (Predmet o) | Išče vektor za zadnji pojav določenega elementa in vrne indeks ali vrne -1 element ni bil najden. |
Int lastIndexOf (objekt o, indeks int) | Začne iskanje zadnjega pojavljanja danega elementa iz danega indeksa nazaj. Vrne indeks, če je element najden, sicer vrne -1. | |
listIterator | ListIteratorlistIterator () | Vrne iterator seznama nad vektorskimi elementi. |
ListIteratorlistIterator (indeks int) | Vrne iterator seznama nad vektorskimi elementi, začenši z danim indeksom. |
Ime metode | Prototip | Opis |
---|---|---|
removeRange | zaščitena praznina removeRange (int fromIndex, int toIndex) | Izbriše vse elemente iz vektorja v danem obsegu odIndex (vključno) do totoIndex (ekskluzivno). |
Odstrani | E odstrani (indeks int) | Izbriše element iz danega indeksa iz vektorja. |
Logično odstranjevanje (objekt o) | Izbriše prvi pojav danega elementa iz vektorja. Če element ni prisoten, se vektorju nič ne zgodi | |
odstrani vse | Logično removeAll (zbirka c) | Izbriše vse elemente iz vektorja, ki so prisotni v dani zbirki. |
void removeAll Elements () | Izbriše vse vektorske elemente in ga tako zmanjša na nič. | |
removeElement | Logično removeElement (objekt obj) | Odstrani prvi pojav danega elementa iz vektorja. |
void removeElementAt (indeks int) | Izbriše element pri danem indeksu. | |
retainAll | Boolean retainAll (zbirka c) | V nasprotju z 'removeAll' metoda retainAll v vektorju zadrži elemente, ki se ujemajo z elementi v določeni zbirki. |
nastavite | E set (indeks int, element E) | Nastavi vrednost na dani indeks z novim elementom. |
Void set ElementAt (E obj, indeks int) | Nastavi dane elemente na dani indeks. | |
setSize | Void setSize (int newSize) | Nastavi določeno velikost za ta vektor. |
Velikost | velikost int () | Vrne število elementov v tem vektorju ali dolžino vektorja. |
subList | ListsubList (intfromIndex, inttoIndex) | Vrne pogled ali podseznam vektorja, ki sega od indeksa do indeksa. |
toArray | Object () toArray () | Pretvori dani vektor v matriko, ki vsebuje vse vektorske elemente v danem vrstnem redu. |
T () doArray (T () a) | Vrne polje vrste, ki vsebuje vse vektorske elemente. | |
toString | String toString () | Vrne niz vektorske predstavitve. |
trimToSize | void trimToSize () | Obreže vektor, da se prilagodi trenutni velikosti. |
Izvedba vektorjev
Naslednji program Java prikazuje uporabo vseh zgoraj opisanih konstruktorskih metod.
import java.util.*; public class Main{ public static void main(String() args) { //Create vectors v1, v2,v3 and v4 Vector v1 = new Vector(); //a vector with default constructor Vector v2 = new Vector(20); // a vector of given Size //initialize vector v2 with values v2.add(10); v2.add(20); v2.add(30); Vector v3 = new Vector(30, 10); // a vector of given Size and Increment // create a vector v4 with given collection List aList = new ArrayList(); aList.add('one'); aList.add('two'); Vector v4 = new Vector(aList); //print contents of each vector System.out.println('Vector v1 Contents:' + v1); System.out.println('Vector v2 Contents:' + v2); System.out.println('Vector v3 Contents:' + v3); System.out.println('Vector v4 Contents:' + v4); } }
Izhod:
Zgornji program vsebuje štiri vektorje. Prvi v1 je ustvarjen s privzetim konstruktorjem. Drugi Vector v2 se ustvari z začetno zmogljivostjo 20. Potem se v2 doda nekaj elementov. Tretji vektor je ustvarjen z začetno zmogljivostjo 30 in prirastkom 10.
Nato ustvarimo ArrayList in ustvarimo četrti Vector v4 z ArrayList kot argumentom. Na koncu prikažemo vsebino vsakega od teh Vektorjev.
Upoštevajte vsebino četrtega vektorja v4. Ker smo kot svoj argument navedli ArrayList, vsebina ArrayList postane vsebina v4.
Popoln vektorski primer
Zdaj pa izvedimo še en program, ki bo predstaviti ustvarjanje vektorjev, mu dodati elemente in prikazati njegovo vsebino.
import java.util.*; public class Main { public static void main(String args()) { //Create an empty Vector of even numbers Vector evenVector= new Vector (); //Add elements in the vector evenVector.add(2); evenVector.add(4); evenVector.add(6); evenVector.add(8); evenVector.add(10); evenVector.add(12); evenVector.add(14); evenVector.add(16); //Display the vector System.out.println('Vector evenVector contents: ' +evenVector); //delete the first occurence of an element 4 using remove method System.out.println('
Firstoccurence of element 4 removed: '+evenVector.remove((Integer)4)); //Display the vector System.out.println('
Vector contents after remove operation: ' +evenVector); //Remove the element at index 4 & display the vector System.out.println('
Remove element at index 4: ' +evenVector.remove(4)); System.out.println('
Vector contents after remove: ' +evenVector); //hashcode for the vector System.out.println('
Hash code of the vector = '+evenVector.hashCode()); //Get the element at index 1 System.out.println('
Element at index 1 is = '+evenVector.get(1)); } }
Izhod:
Vzemimo še en vektorski primer. V tem programu bomo uporabite vektorski niz . S tem vektorjem manipuliramo z dodajanjem elementov in nato natisnemo njegovo velikost in prostornino.
import java.util.*; public class Main { public static void main(String args()) { // create a vector with initial capacity = 2 Vector fruits_vec = new Vector(2); //add elements to the vector fruits_vec.addElement('Grapes'); fruits_vec.addElement('Melon'); fruits_vec.addElement('Kiwi'); fruits_vec.addElement('Apple'); //print current size and capacity of the vector System.out.println('Vector Size: '+fruits_vec.size()); System.out.println('Default Vector capacity increment: '+fruits_vec.capacity()); //add more elements to the vector fruits_vec.addElement('Orange'); fruits_vec.addElement('Mango'); fruits_vec.addElement('Fig'); //print current size and capacity again System.out.println('Vector Size after addition: '+fruits_vec.size()); System.out.println('Vector Capacity after increment: '+fruits_vec.capacity()); //print vector elements Enumeration fruits_enum = fruits_vec.elements(); System.out.println('
Vector Elements are:'); while(fruits_enum.hasMoreElements()) System.out.print(fruits_enum.nextElement() + ' '); } }
Izhod:
Razvrsti vektor
Vektor lahko tudi razvrstite po določenem vrstnem redu. Za razvrščanje vektorja morate uporabiti metodo Collections.sort () Java Collections Framework.
Naslednji primer prikazuje vektorsko razvrščanje.
import java.util.*; public class Main { public static void main(String arg()) { //Create an empty vector Vector oddVector = new Vector(); //Add elements to the vector oddVector.add(1); oddVector.add(11); oddVector.add(7); oddVector.add(3); oddVector.add(5); //print the vector elements System.out.println('Vector elements: '+oddVector); //sort vector using Collections.sort method Collections.sort(oddVector); //print sorted vector System.out.println('Vector elements after sorting: '+oddVector); } }
Izhod:
Zgornji program ustvari vektor neparnih števil. Nato se z uporabo metode Collections.sort () Vector razvrsti.
2D (dvodimenzionalni) vektor
2d vektor je vektor, ki ima vsakega od svojih elementov vektor. Lahko ga imenujemo tudi „vektor vektorjev“.
Spodnji primer prikazuje 2d vektor.
import java.util.*; public class Main { public static void main(String args()) { //define and initialize a vector Vector inner_vec = new Vector(); inner_vec.add('Software'); inner_vec.add('Testing'); inner_vec.add('Java'); inner_vec.add('Tutorials'); //define another vector and add first vector to it. Vector outer_vec = new Vector(); outer_vec.add(inner_vec); String str; //display the contents of vector of vectors System.out.println('Contents of vector of vectors:'); for(int i=0;i Izhod:

V zgornjem programu imamo Vektor štirih elementov. Nato prijavimo še en vektor in dodamo prejšnji vektor kot element drugemu vektorju. Upoštevajte način dostopa do elementov vektorja. Oblikujte zanko for, lahko ugotovite, da je prvi element zunanjega vektorja (pri indeksu 0) prvi ali notranji vektor.
Tako v zanki ohranimo indeks zunanjega vektorja kot 0 in skozi notranji vektor prikažemo vse elemente.
Pretvori vektor v matriko
Oglejmo si naslednji primer pretvorbe vektorja v matriko. Za pretvorbo vektorja v matriko uporabimo metodo ‘toArray’ razreda Vector.
V naslednjem primeru programiranja , razglasimo niz Vector in mu dodamo elemente. Nato z uporabo metode toArray razreda Vector pretvorimo Vector v matriko String tako, da kot argument posredujemo element matrike nizov.
import java.util.Vector; public class Main { public static void main(String() args) { // Create a Vector of String elements Vector color_vector = new Vector(); // Add elements to Vector color_vector.add('Violet'); color_vector.add('Indigo'); color_vector.add('Blue'); color_vector.add('Green'); color_vector.add('Yellow'); color_vector.add('Orange'); color_vector.add('Red'); //Convert Vector to String Array using toArray method String() colorsArray = color_vector.toArray(new String(color_vector.size())); //print Array Elements System.out.println('String Array Elements :'); for(String val:colorsArray){ System.out.print(val + ' '); } } }
Izhod:

Vector vs Array
Spodaj so navedene nekatere razlike med vektorjem in matriko.
Vektor Matrika Rezervira dodaten prostor za shranjevanje, ko se poveča zmogljivost. Ne rezervira dodatnega prostora za shranjevanje. Vektor je dinamičen in njegova velikost narašča in se zmanjšuje z dodajanjem ali odstranjevanjem elementov. Polja so statična in njegova velikost ostane nespremenjena, ko je deklarirana. Vektorji lahko shranjujejo samo predmete. Polja lahko shranjujejo primitivne vrste in predmete. Zagotavlja metodo size () za določanje velikosti. Zagotavlja lastnost dolžine za določitev dolžine. Brez konceptnih dimenzij, lahko pa ga ustvarimo kot vektor vektorjev, ki se običajno imenuje 2d vektor. Polja podpirajo mere. Vektor je sinhroniziran. Matrika ni sinhronizirana. Vektor je počasnejši od polja. Matrika je hitrejša. S podporo generikom zagotavlja varnost tipa. Ni splošne podpore.
Vector vs ArrayList
Ta razdelek obravnava razliko med Vector in ArrayList v Javi.
Vektor ArrayList Vektor ima velikost prirastka, pri čemer je velikost vektorja mogoče povečati. ArrayList ne zagotavlja velikosti prirastka. Prisoten od začetne različice Jave (različica JDK 1.0). Predstavljeno v Javi od JDK 1.2 Vector je zapuščen razred Java. ArrayList je del ogrodja zbirk Java. Vektor se podvoji, ko doseže svojo zmogljivost. ArrayList se poveča za polovico manj, ko doseže svojo zmogljivost. Vektorske metode so sinhronizirane. ArrayList ni sinhroniziran. Vector uporablja Enumerator in Iterator za prečkanje. ArrayList uporablja samo Iterator. Vektorske operacije so počasnejše. ArrayList je hitrejši. Vector je varen za nit, kar pomeni, da je uporaba Vectorja iz več niti dovoljena in varna. ArrayList ni varen za nit.
Pogosto zastavljena vprašanja
V # 1) Kaj je vektor v Javi?
Odgovor: V Javi lahko Vector definiramo kot množičen niz predmetov. Podobno kot nizi je tudi do elementov Vector mogoče dostopati s pomočjo indeksov.
V # 2) Ali je vektor urejen v Javi?
Odgovor: Da. Narejen je Vector in vzdržuje vrstni red vstavljanja elementov.
V # 3) Ali je vektor Vector v Java varen?
Odgovor: Da. V Javi je razred Vector varen za nit. Ker je razred Vector sinhroniziran, je zaradi njega varen za nit, torej lahko uporabljate razred Vector iz več niti in je varen.
V # 4) Zakaj v Javi uporabljamo vektor?
Odgovor: Najpomembnejši razlog, zaradi katerega se Vector uporablja v Javi, je, da Vector samodejno raste in se krči. So dinamični, zaradi česar imajo prednost pred nizi.
V # 5) Kaj je boljše - ArrayList ali vektor?
funkcija spanja v c ++
Odgovor: Glede na zmogljivost ArrayList je hitrejši v primerjavi z vektorjem, saj je Vector sinhroniziran in počasnejši.
Zaključek
V tej vadnici smo začeli s strukturo podatkov Vector v Javi. Vektorji so skoraj podobni matriki, v kateri se do elementov Vector dostopa z znanimi indeksi. Vektorji se imenujejo dinamično polje in za razliko od nizov se velikost Vector samodejno poveča in skrči.
Vektorji imajo tudi funkcije zmogljivosti in prirastka, s katerimi lahko ustvarite in rezervirate dodatno shrambo za prihodnje dodatke. Vector je zapuščen razred v paketu java.util Java in je sinhroniziran ter varen pred nitmi.
Tako bi morali imeti raje vektorje, kadar potrebujemo dinamično velikost in tudi med delom v večnitnem okolju.
=> Obiščite tukaj za ekskluzivno serijo vadnic Java.
Priporočeno branje
- JAVA Vadnica za začetnike: 100+ praktičnih Javnih video vadnic
- Vadnica za odsev Java s primeri
- Vadnica Java vmesnika in abstraktnega razreda s primeri
- Nazobčan niz v Javi - Vadnica s primeri
- Vadnica za dolžino polja Java s primeri kode
- Kako razvrstiti polje v Javi - Vadnica s primeri
- Java 'this' ključna beseda: Vadnica s primeri kode
- Dostopni modifikatorji v Javi - Vadnica s primeri