what is java vector java vector class tutorial with examples
Denne opplæringen forklarer alt om vektordatastruktur i Java med eksempler. Du lærer å lage, starte, sortere og bruke en Java-vektor i programmene dine:
En vektor kan defineres som en dynamisk matrise som kan vokse eller krympe av seg selv, det vil si at vektor vil vokse når flere elementer legges til den og vil krympe når elementer fjernes fra den.
Denne oppførselen er ulik den som er statisk. Men i likhet med matriser, kan vektorelementer nås ved hjelp av heltallindekser.
=> Sjekk her for å se AZ av Java-opplæringsveiledninger her.
En vektor kan sees på som lik en annen dynamisk array datastruktur, ArrayList bortsett fra de to forskjellene nedenfor:
- Vektoren synkroniseres, dvs. alle metodene i Vector er merket som ‘synkronisert’, og når en metode er påkalt, kan den samme metoden ikke påberopes med mindre den forrige samtalen er avsluttet.
- Vektorklassen har mange metoder som ikke er en del av samlingens rammeverk, men dens arvemetoder.
Hva du vil lære:
Java Vector Class
En vektorklasse er bortsett fra “ java.util ”Pakke og redskaper Listegrensesnitt. En vektor er en rekke objekter eller vektor av objekter.
En klassedeklarasjon for Vector-klassen er gitt nedenfor:
public class Vector extends Object implements List, Cloneable, Serializable
Som vist ovenfor utvider en Vector-klasse “ java.lang.object ”Og implementerer grensesnitt for liste, klonerbare og serierbare.
Hvordan lage en vektor i Java?
Du kan opprette et Vector-objekt ved hjelp av en av følgende Vector-konstruktormetoder.
enkelt binært tre c ++
Konstruktørprototype | Beskrivelse | |
---|---|---|
Klar | Utgår klart () | Tømmer vektoren av elementene. |
vektor () | Dette er standardkonstruktøren for Vector-klassen. Det skaper en tom vektor med størrelse 10. | |
vektor (int initialCapacity) | Denne overbelastede konstruktøren konstruerer et tomt Vector-objekt med kapasiteten = initialCapacity. | |
vektor (int initialCapacity, int capacityIncrement) | Denne konstruktormetoden oppretter et tomt Vector-objekt med spesifisert initialCapacity and capacityIncrement. | |
Vector (samling c) | Et vektorobjekt opprettes med de første elementene fra spesifisert samling c. |
La oss se på hver av konstruktørene for å initialisere Vector-objekter.
Initialiser Vector
(i) Vector ()
Dette er standardkonstruktøren for Vector-klassen. Når du påkaller denne konstruktøren, opprettes et Vector-objekt med standard størrelse 10.
Den generelle syntaksen for denne metoden er:
Vectorobjekt = ny Vector ();
For eksempel,
Vector vec1 = new Vector ();
Ovennevnte utsagn oppretter en ny Vector ‘vec1’ med størrelse 10.
(ii) Vector (int initialCapacity)
Den overbelastede konstruktøren i Vector-klassen aksepterer ‘initialCapacity’ som argumentet. Denne konstruktøren lager et vektorobjekt med spesifisert kapasitet.
Den generelle syntaksen til metoden er:
Vectorobjekt = ny Vector (initialCapacity);
For eksempel,
Vector vec1 = new Vector (10);
Ovennevnte programmeringsuttalelse vil opprette et Vector-objekt ‘vec1’ med kapasitet på 10, dvs. at denne Vector kan lagre opptil 10 elementer.
(iii) Vector (int initialCapacity, int capacityIncrement)
Dette er enda en overbelastet konstruktør av Vector-klassen, og den lager et Vector-objekt med spesifisert startkapasitet og økning for kapasiteten.
Den generelle syntaksen for denne metoden er:
Vectorobjekt = ny Vector (initialCapacity, capacityIncrement);
For eksempel,
Vector vec1 = new Vector(5,10);
I ovenstående uttalelse er den opprinnelige kapasiteten til Vector 5 og inkrement er 10. Dette betyr at 6thelementet settes inn i vektoren, vil kapasiteten til vektoren økes til 15 (5 + 10). Tilsvarende når 16thelement settes inn, vil vektorkapasiteten til Vector utvides til 25 (15 +10).
(iv) Vector (samling c)
Den siste overbelastede konstruktøren av Vector-klassen tar i seg en forhåndsdefinert samling som et argument og lager en Vector med alle elementene fra denne samlingen som sine elementer.
Den generelle syntaksen er:
Vektorobjekt = ny vektor (samling c);
For eksempel,
Vector vec1 = new Vector(aList); where aList = {1,2,3,4,5};
Ovennevnte utsagn vil opprette en Vector ‘vec1’ med innledende elementer som {1,2,3,4, 5}.
Når vi holder alle disse beskrivelsene i bakhodet, kan vi implementere et Vector-program for å forstå disse konstruktørene bedre.
Vektormetoder i Java
Følgende er metodene som støttes av Vector-klassen i Java.
Metodenavn | Prototype | Beskrivelse |
---|---|---|
Legg til | Boolsk tillegg (E e) | Legger til gitt element til slutten av vektoren. |
Void add (int index, E element) | Legg element til vektoren ved den angitte indeksen. | |
Legg til alle | Boolsk addAll (samling c) | Legger til alle elementene fra gitt samling til slutten av vektoren. |
Boolsk addAll (int-indeks, samling c) | Legger til alle elementene i den angitte samlingen ved spesifisert indeks. | |
addElement | void addElement (E obj) | Legger til det spesifiserte elementet på slutten av vektoren ved å øke vektorstørrelsen. |
Kapasitet | Int kapasitet () | Returnerer vektorens nåværende kapasitet. |
Klon | Objektklon () | Kloner vektoren. |
Inneholder | Boolsk inneholder (Objekt o) | Sjekker om vektoren inneholder spesifisert element. |
inneholderAlle | Boolsk inneholderAlle (samling c) | Sjekker om vektoren inneholder alle elementene i den gitte samlingen. |
kopiere til | Void copyInto (Object () anArray) | Kopierer vektorelementene til en gitt matrise. |
ElementAt | E ElementAt (int-indeks) | Returnerer vektorelement ved spesifisert indeks. |
Elementer | Oppregningselementer () | Returnerer nummererte komponenter for vektoren. |
sikre kapasitet | Ugyldig sikre kapasitet (int minkapasitet) | Øker kapasiteten til vektoren for å oppfylle den spesifiserte minimumskapasiteten. |
Metodenavn | Prototype | Beskrivelse |
---|---|---|
insertElementAt | Void insertElementAt (E obj, int index) | Setter inn det gitte objektet i vektoren ved den gitte indeksen. |
Er lik | Boolsk er lik (Objekt o) | Sammenligner nåværende vektor med spesifisert vektor for å sjekke om de er like. |
firstElement | E firstElement () | Returnerer det første elementet i vektoren ved indeks 0. |
Få | E get (int-indeks) | Returnerer elementet i vektoren ved den angitte indeksen. |
hashCode | int hashCode () | Returnerer hash-koden for Vector. |
oversikt over | int indexOf (Objekt o) | finner indeksen for den første forekomsten av det gitte elementet i vektoren; -1 hvis element ikke er tilstede i vektoren. |
int indexOf (Object o, int index) | Søker i vektoren fra den gitte indeksen forover for det spesifiserte elementet; returnerer indeksen hvis elementet blir funnet ellers -1 hvis elementet ikke blir funnet. | |
er tom | Boolsk er tom () | Sjekker om vektoren er tom. |
Iterator | Iteratoriterator () | Returnerer en iterator som brukes til å krysse over elementene i vektoren. |
lastElement | E lastElement () | Returnerer det siste elementet i vektoren. |
lastIndexOf | Int lastIndexOf (Objekt o) | Søker i vektoren for siste forekomst av gitt element og returnerer indeksen, eller returnerer -1 elementet ikke blir funnet. |
Int lastIndexOf (Object o, int index) | Begynner å søke etter siste forekomst av det gitte elementet fra den gitte indeksen og bakover. Returnerer indeksen hvis elementet er funnet ellers returnerer -1. | |
listIterator | ListIteratorlistIterator () | Returnerer en listeiterator over vektorelementene. |
ListIteratorlistIterator (int-indeks) | Returnerer en listeiterator over vektorelementene som starter fra den gitte indeksen. |
Metodenavn | Prototype | Beskrivelse |
---|---|---|
removeRange | beskyttet tomrom removeRange (int fraIndex, int tilIndex) | Sletter alle elementene fra vektoren i det gitte området fraIndex (inkludert), totoIndex (eksklusiv). |
Ta vekk | E fjerne (int-indeks) | Sletter element ved gitt indeks fra vektoren. |
Boolsk fjerning (Objekt o) | Sletter første forekomst av det gitte elementet fra vektoren. Hvis element ikke er tilstede, skjer det ikke noe med vektoren | |
Fjern alle | Boolsk removeAll (samling c) | Sletter alle elementene fra vektoren som er tilstede i den gitte samlingen. |
ugyldig removeAll Elements () | Sletter alle vektorelementer og reduserer den til størrelse null. | |
removeElement | Boolsk removeElement (Objekt obj) | Fjerner den første forekomsten av det gitte elementet fra vektoren. |
ugyldig removeElementAt (int-indeks) | Sletter elementet ved den gitte indeksen. | |
beholder alt | Boolsk retainAll (samling c) | I motsetning til ‘removeAll’ beholder metoden retainAll elementer i Vector som samsvarer med elementer i spesifisert samling. |
sett | E-sett (int-indeks, E-element) | Angir verdien ved gitt indeks med det nye elementet som er gitt. |
Void set ElementAt (E obj, int index) | Setter de gitte elementene i den gitte indeksen. | |
setSize | Void setSize (int newSize) | Angir gitt størrelse for denne vektoren. |
Størrelse | int størrelse () | Returnerer antall elementer i denne vektoren eller lengden på vektoren. |
underliste | ListsubList (intfromIndex, inttoIndex) | Returnerer en visning eller underliste over vektoren som spenner fra index til index. |
toArray | Objekt () toArray () | Konverterer den gitte vektoren til en matrise som inneholder alle vektorelementene i gitt rekkefølge. |
T () toArray (T () a) | Returnerer en spesifisert type matrise som inneholder alle vektorelementene. | |
toString | String toString () | Returnerer en strengrepresentasjon av vektoren. |
trimToSize | void trimToSize () | Beskjærer vektoren for å imøtekomme gjeldende størrelse. |
Vektorimplementering
Følgende Java-program demonstrerer bruken av alle konstruktormetodene beskrevet ovenfor.
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); } }
Produksjon:
Ovennevnte program har fire vektorer i seg. Den første v1 er opprettet med en standard konstruktør. Den andre Vector v2 er opprettet med innledende kapasitet som 20. Deretter blir få elementer lagt til v2. Den tredje vektoren er opprettet med en innledende kapasitet på 30 og trinn 10.
Deretter oppretter vi en ArrayList og lager en fjerde Vector v4 med ArrayList som argument. Til slutt viser vi innholdet i hver av disse vektorene.
Legg merke til innholdet i den fjerde Vector v4. Ettersom vi har gitt ArrayList som argument, blir innholdet i ArrayList innholdet i v4.
Komplett vektoreksempel
La oss nå implementere enda et program som vil demonstrere etableringen av vektorer, legge til elementer i den og vise innholdet.
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)); } }
Produksjon:
standard gateway ikke tilgjengelig windows 10
La oss ta et annet vektoreksempel. I dette programmet vil vi bruk en strengvektor . Vi manipulerer denne vektoren ved å legge til elementer og deretter skrive ut størrelse og kapasitet.
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() + ' '); } }
Produksjon:
Sorter en vektor
Du kan også sortere en vektor i henhold til en bestemt rekkefølge. For å sortere en vektor, må du bruke metoden Collections.sort () i Java Collections Framework.
Følgende eksempel viser vektorsortering.
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); } }
Produksjon:
Ovennevnte program oppretter en vektor med oddetall. Deretter sorteres Vector ved hjelp av Collections.sort () -metoden.
2D (todimensjonal) vektor
En 2d-vektor er en vektor som har hvert av elementene som en vektor. Det kan også betegnes som 'Vector of Vectors'.
Et eksempel nedenfor viser 2d Vector.
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 Produksjon:

I programmet ovenfor har vi en vektor med fire elementer. Deretter erklærer vi en annen vektor og legger til den forrige vektoren som et element i den andre vektoren. Legg merke til hvordan elementene i vektoren er tilgjengelige. Form for for loop, du kan konkludere med at den ytre vektorens første element (ved indeks 0) er den første eller indre vektoren.
I sløyfen holder vi således indeksen til den ytre vektoren som 0 og sløyfer gjennom den indre vektoren for å vise alle elementene.
Konverter Vector til Array
La oss se på følgende eksempel på å konvertere en vektor til en matrise. For å konvertere en Vector til en Array, bruker vi 'toArray' metoden i Vector-klassen.
I det følgende programmeringseksemplet , erklærer vi en strengvektor og legger til elementer i den. Deretter bruker vi toArray-metoden til Vector-klassen, og konverterer vi Vector til en strengmatrise ved å sende strengmatriseobjektet som et argument.
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 + ' '); } } }
Produksjon:

Vector vs Array
Nedenfor er noen av forskjellene mellom en Vector og en Array.
Vector Array Reservert ekstra lagringsplass når kapasiteten økes. Reserverer ikke noe ekstra lagringsplass. Vector er dynamisk og størrelsen vokser og krymper når elementene legges til eller fjernes. Arrays er statiske og størrelsen forblir fast når den er erklært. Vektorer kan bare lagre gjenstander. Arrays kan lagre primitive typer så vel som gjenstander. Det gir en størrelse () metode for å bestemme størrelsen. Gir lengdeegenskap for å bestemme lengden. Ingen konseptdimensjoner, men kan opprettes som en vektor av vektorer, vanligvis kalt 2d-vektor. Arrays støtter dimensjoner. Vektor er synkronisert. Matrisen er ikke synkronisert. Vektor er tregere enn matrisen. Array går raskere. Sikrer typesikkerhet ved å støtte generiske legemidler. Ingen generisk støtte.
Vector vs ArrayList
Denne delen diskuterer forskjellen mellom Vector og ArrayList i Java.
Vector ArrayList Vector har økningsstørrelse ved hjelp av hvilken vektorstørrelse som kan økes. ArrayList gir ikke trinn på størrelse. Til stede siden den første versjonen av Java (JDK 1.0-versjonen). Introdusert i Java siden JDK 1.2 Vector er en eldre klasse av Java. ArrayList er en del av Java Collections Framework. Vector blir dobbelt så stor som når kapasiteten er nådd. ArrayList vokser med halvparten av størrelsen når kapasiteten er nådd. Vektormetoder synkroniseres. ArrayList er ikke synkronisert. Vector bruker Enumerator og Iterator for å krysse. ArrayList bruker bare Iterator. Vektoroperasjoner er tregere. ArrayList er raskere. Vector er trådsikker, noe som betyr at bruk av Vector fra flere tråder er tillatt og er trygt. ArrayList er ikke trådsikker.
ofte stilte spørsmål
Q # 1) Hva er en vektor i Java?
Svar: I Java kan en vektor defineres som et voksbart utvalg av objekter. I likhet med matriser kan du også få tilgang til vektorelementer ved hjelp av indekser.
Q # 2) Er vektor bestilt i Java?
Svar: Ja. En vektor bestilles og vedlikeholder innsettingsrekkefølgen for elementer.
Q # 3) Er Vector-trådsikker i Java?
Svar: Ja. I Java er Vector-klassen trådsikker. Ettersom Vector-klassen er synkronisert, gjør den den trådsikker, det vil si at du kan bruke Vector-klassen fra flere tråder, og den er trygg.
Q # 4) Hvorfor bruker vi vektor i Java?
Svar: Den viktigste grunnen til at Vector brukes i Java er at en Vector vokser og krymper automatisk. De er dynamiske på grunn av hvilke de foretrekkes fremfor matriser.
Q # 5) Hva er bedre - ArrayList eller vektor?
Svar: Ytelsesmessig ArrayList er raskere sammenlignet med Vector, da Vector er synkronisert og gjør den tregere.
Konklusjon
I denne opplæringen startet vi med vektordatastrukturen i Java. Vektorer ligner nesten på en matrise der Vector-elementene er tilgjengelige ved hjelp av kjente indekser. Vektorer kalles dynamisk matrise, og i motsetning til matriser vokser vektorstørrelsen og krymper automatisk.
Vektorer har også kapasitets- og økningsfunksjonene som kan brukes til å opprette og reservere ekstra lagring for fremtidige tillegg. Vector er en eldre klasse i java.util-pakke med Java og er synkronisert så vel som trådsikker.
Dermed bør vi foretrekke vektorer når vi trenger dynamisk størrelse og også mens vi jobber i et flertrådet miljø.
=> Besøk her for den eksklusive opplæringsserien for Java Training.
Anbefalt lesing
- JAVA-opplæring for nybegynnere: 100+ praktiske Java-videoveiledninger
- Java Reflection Tutorial med eksempler
- Java-grensesnitt og abstrakt klasseopplæring med eksempler
- Jagged Array In Java - Opplæring med eksempler
- Java Array Length Tutorial With Code Eksempler
- Hvordan sortere en matrise i Java - Veiledning med eksempler
- Java 'dette' nøkkelord: Opplæring med kodeeksempler
- Få tilgang til modifikatorer i Java - opplæring med eksempler