what is java vector java vector class tutorial with examples
Denna handledning förklarar allt om vektordatastruktur i Java med exempel. Du lär dig att skapa, initiala, sortera och använda en Java-vektor i dina program:
En vektor kan definieras som en dynamisk matris som kan växa eller krympa på egen hand, det vill säga vektorn kommer att växa när fler element läggs till den och krymper när elementen tas bort från den.
Detta beteende skiljer sig inte från arrays som är statiska. Men liknande matriser kan vektorelement nås med heltalindex.
=> Kolla här för att se A-Z av Java-utbildningar här.
En vektor kan ses som liknar en annan dynamisk array datastruktur, ArrayList förutom de två nedanstående skillnaderna:
- Vektorn synkroniseras, dvs alla metoder i Vector är markerade som 'synkroniserade' och så snart en metod åberopas kan samma metod inte åberopas om inte det tidigare samtalet har avslutats.
- Vektorklassen har många metoder som inte är en del av samlingsramen utan dess arvsmetoder.
Vad du kommer att lära dig:
Java Vector Class
En vektorklass är förutom ” java.util ”Paket och redskap Listgränssnitt. En vektor är en uppsättning objekt eller vektor med objekt.
En klassdeklaration av Vector-klassen ges nedan:
public class Vector extends Object implements List, Cloneable, Serializable
Som visas ovan sträcker sig en vektorklass “ java.lang.object ”Och implementerar gränssnitt List, Cloneable och Serializable.
Hur man skapar en vektor i Java?
Du kan skapa ett vektorobjekt med någon av följande vektorkonstruktörmetoder.
webbplatser för att ladda ner youtube-videor till mp3
Konstruktör prototyp | Beskrivning | |
---|---|---|
Klar | Utgår tydligt () | Rensar vektorn för dess element. |
vektor() | Detta är standardkonstruktören för vektorklassen. Det skapar en tom vektor med storlek 10. | |
vektor (int initialCapacity) | Den här överbelastade konstruktören konstruerar ett tomt vektorobjekt med kapaciteten = initialkapacitet. | |
vektor (int initialCapacity, int capacityIncrement) | Den här konstruktormetoden skapar ett tomt vektorobjekt med angiven initialCapacity and capacityIncrement. | |
Vektor (samling c) | Ett vektorobjekt skapas med de ursprungliga elementen från specificerad samling c. |
Låt oss titta på var och en av konstruktörerna för att initialisera vektorobjekt.
Initiera vektor
(i) Vector ()
Detta är standardkonstruktören för vektorklassen. När du anropar den här konstruktören skapas ett vektorobjekt med standardstorlek 10.
Den allmänna syntaxen för denna metod är:
Vektorobjekt = ny vektor ();
Till exempel,
Vector vec1 = new Vector ();
Ovanstående uttalande skapar en ny Vector 'vec1' med storlek 10.
(ii) Vector (int initialCapacity)
Den överbelastade konstruktören i Vector-klassen accepterar 'initialCapacity' som argument. Den här konstruktören skapar ett vektorobjekt med den angivna kapaciteten.
Metodens allmänna syntax är:
Vektorobjekt = ny vektor (initialkapacitet);
Till exempel,
Vector vec1 = new Vector (10);
Ovanstående programmeringsuttalande skapar ett vektorobjekt 'vec1' med kapacitet 10, dvs. denna vektor kan lagra upp till 10 element.
(iii) Vektor (int initialCapacity, int capacityIncrement)
Detta är ännu en överbelastad konstruktör av Vector-klass och det skapar ett Vector-objekt med den angivna initiala kapaciteten och ökningen för kapaciteten.
Den allmänna syntaxen för denna metod är:
Vektorobjekt = ny vektor (initialCapacity, capacityIncrement);
Till exempel,
Vector vec1 = new Vector(5,10);
I ovanstående uttalande är vektorkapaciteten för vektorn 5 och inkrementet är 10. Detta betyder när 6thelementet infogas i vektorn kommer kapaciteten hos vektorn att ökas till 15 (5 + 10). På samma sätt när 16thelementet infogas kommer vektorkapaciteten för vektorn att förlängas till 25 (15 +10).
(iv) Vektor (samling c)
Den sista överbelastade konstruktören i vektorklassen tar in en fördefinierad samling som ett argument och skapar en vektor med alla element från denna samling som dess element.
Den allmänna syntaxen är:
Vektorobjekt = ny vektor (samling c);
Till exempel,
Vector vec1 = new Vector(aList); where aList = {1,2,3,4,5};
Ovanstående uttalande skapar en Vector 'vec1' med initiala element som {1,2,3,4, 5}.
Med alla dessa beskrivningar i åtanke kan vi implementera ett Vector-program för att bättre förstå dessa konstruktörer.
Vektormetoder i Java
Följande är de metoder som stöds av Vector-klassen i Java.
Metodens namn | Prototyp | Beskrivning |
---|---|---|
Lägg till | Boolean add (E e) | Lägger till givet element i slutet av vektorn. |
Void add (int index, E element) | Lägg till element i vektorn i det angivna indexet. | |
Lägg till alla | Boolean addAll (Collection c) | Lägger till alla element från given samling till slutet av vektorn. |
Boolean addAll (int index, Collection c) | Lägger till alla element i den angivna samlingen vid angivet index. | |
addElement | void addElement (E obj) | Lägger till det angivna elementet i slutet av vektorn genom att öka vektorn. |
Kapacitet | Int kapacitet () | Returnerar vektorens aktuella kapacitet. |
Klona | Objektklon () | Kloner vektorn. |
Innehåller | Boolean innehåller (Objekt o) | Kontrollerar om vektorn innehåller specificerat element. |
innehållerAll | Boolean containAll (Collection c) | Kontrollerar om vektorn innehåller alla element som finns i en given samling. |
kopia till | Void copyInto (Object () anArray) | Kopierar vektorelementen till en given matris. |
ElementAt | E ElementAt (int index) | Returnerar vektorelement vid angivet index. |
Element | Uppräkningselement () | Returnerar uppräknade komponenter för vektorn. |
säkerställa kapacitet | Ogiltig försäkraCapacity (int minCapacity) | Ökar vektorkapaciteten för att möta den angivna minimikapaciteten. |
Metodens namn | Prototyp | Beskrivning |
---|---|---|
insertElementAt | Void insertElementAt (E obj, int index) | Infogar det angivna objektet i vektorn i det angivna indexet. |
Lika | Booleska lika (Objekt o) | Jämför nuvarande vektor med specificerad vektor för att kontrollera om de är lika. |
firstElement | E firstElement () | Returnerar det första elementet i vektorn vid index 0. |
Skaffa sig | E get (int index) | Returnerar elementet i vektorn vid det angivna indexet. |
hash-kod | int hashCode () | Returnerar hashkodvärdet för vektorn. |
index för | int indexOf (Objekt o) | hittar indexet för den första förekomsten av det givna elementet i vektorn; -1 om element inte finns i vektorn. |
int indexOf (Object o, int index) | Söker vektorn från det angivna indexet i riktning framåt för angivet element; returnerar index om elementet hittas annars -1 om elementet inte hittas. | |
är tom | Boolean isEmpty () | Kontrollerar om vektorn är tom. |
Iterator | Iteratoriterator () | Returnerar en iterator som används för att korsa över elementen i vektorn. |
lastElement | E lastElement () | Returnerar det sista elementet i vektorn. |
lastIndexOf | Int lastIndexOf (Object o) | Söker i vektorn efter den senaste förekomsten av ett visst element och returnerar indexet, eller returnerar -1 elementet hittas inte. |
Int lastIndexOf (Object o, int index) | Börjar söka efter den sista förekomsten av det givna elementet från det angivna indexet bakåt. Returnerar index om element hittas annars returnerar -1. | |
listIterator | ListIteratorlistIterator () | Returnerar en lista iterator över vektorelementen. |
ListIteratorlistIterator (int index) | Returnerar en lista iterator över vektorelementen med början från det angivna indexet. |
Metodens namn | Prototyp | Beskrivning |
---|---|---|
removeRange | skyddad tomrum removeRange (int frånIndex, int tillIndex) | Raderar alla element från vektorn i det givna intervallet frånIndex (inklusive), totoIndex (exklusiv). |
Ta bort | E ta bort (int index) | Tar bort elementet vid ett visst index från vektorn. |
Boolean ta bort (Objekt o) | Tar bort den första förekomsten av det givna elementet från vektorn. Om element inte finns, händer ingenting med vektorn | |
ta bort alla | Boolean removeAll (samling c) | Raderar alla element från vektorn som finns i den givna samlingen. |
ogiltigt removeAll Elements () | Raderar alla vektorelement och reducerar den till storlek noll. | |
removeElement | Boolean removeElement (Objektobjekt) | Tar bort den första förekomsten av det givna elementet från vektorn. |
ogiltig removeElementAt (int index) | Tar bort elementet vid det angivna indexet. | |
behålla allt | Boolean retainAll (Collection c) | I motsats till ”removeAll” behåller metoden retainAll element i vektorn som matchar element i angiven samling. |
uppsättning | E-uppsättning (int-index, E-element) | Ställer in värdet vid angivet index med det nya elementet som tillhandahålls. |
Void set ElementAt (E obj, int index) | Ställer in de angivna elementen i det angivna indexet. | |
setSize | Void setSize (int newSize) | Ställer in given storlek för denna vektor. |
Storlek | int storlek () | Returnerar antalet element i denna vektor eller längden på vektorn. |
underlista | ListsubList (intfromIndex, inttoIndex) | Returnerar en vy eller underlista av vektorn som sträcker sig från index till index. |
toArray | Objekt () toArray () | Konverterar den angivna vektorn till en matris som innehåller alla vektorelement i given ordning. |
T () toArray (T () a) | Returnerar en matris av specificerad typ som innehåller alla vektorelement. | |
att stränga | String toString () | Returnerar en strängrepresentation av vektorn. |
trimToSize | ogiltig trimToSize () | Trimmar vektorn för att passa den aktuella storleken. |
Vektorimplementering
Följande Java-program visar användningen av alla konstruktörmetoder som beskrivs ovan.
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); } }
Produktion:
Ovanstående program har fyra vektorer i sig. Den första v1 skapas med en standardkonstruktör. Den andra Vector v2 skapas med initial kapacitet som 20. Sedan läggs få element till v2. Den tredje vektorn skapas med en initial kapacitet på 30 och steg 10.
Därefter skapar vi en ArrayList och skapar en fjärde Vector v4 med ArrayList som argument. Slutligen visar vi innehållet i var och en av dessa vektorer.
Notera innehållet i den fjärde Vector v4. Eftersom vi har tillhandahållit ArrayList som argument blir innehållet i ArrayList innehållet i v4.
Komplett vektorexempel
Låt oss nu implementera ännu ett program som kommer demonstrera skapandet av vektorer, lägga till element i den och visa dess innehåll.
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)); } }
Produktion:
Låt oss ta ett annat vektorexempel. I det här programmet kommer vi att göra det använd en strängvektor . Vi manipulerar den här vektorn genom att lägga till element och sedan skriva ut dess storlek och kapacitet.
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() + ' '); } }
Produktion:
Sortera en vektor
Du kan också sortera en vektor enligt en specifik ordning. För att sortera en vektor måste du använda metoden Collections.sort () i Java Collections Framework.
Följande exempel visar 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); } }
Produktion:
Ovanstående program skapar en vektor med udda siffror. Använd sedan metoden Collections.sort () för att sortera vektorn.
djup första sökning c ++
2D (tvådimensionell) vektor
En 2d-vektor är en vektor som har vart och ett av dess element som en vektor. Det kan också kallas 'Vector of Vectors'.
Ett exempel nedan visar 2d-vektorn.
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 Produktion:

I programmet ovan har vi en vektor med fyra element. Sedan deklarerar vi en annan vektor och lägger till den tidigare vektorn som ett element i den andra vektorn. Observera hur elementen i vektorn nås. Form för for-slingan, du kan dra slutsatsen att den yttre vektorn första element (vid index 0) är den första eller inre vektorn.
Således håller vi i slingan indexet för den yttre vektorn som 0 och slingrar genom den inre vektorn för att visa alla element.
Konvertera vektor till matris
Låt oss överväga följande exempel på att konvertera en vektor till en matris. För att konvertera en vektor till en array använder vi oss av 'toArray'-metoden i Vector-klassen.
I följande programmeringsexempel , deklarerar vi en strängvektor och lägger till element i den. Sedan använder vi toArray-metoden i vektorklassen, konverterar vi vektorn till en strängmatris genom att skicka strängmatrisobjektet som ett 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 + ' '); } } }
Produktion:

Vector vs Array
Nedan listas några av skillnaderna mellan en vektor och en matris.
Vektor Array Reserverar ytterligare lagring när kapaciteten ökas. Förbehåller sig inget extra lagringsutrymme. Vektor är dynamisk och dess storlek växer och krymper när element läggs till eller tas bort. Arrayer är statiska och dess storlek förblir fast när deklareras. Vektorer kan endast lagra objekt. Arrayer kan lagra både primitiva typer och objekt. Det ger en storlek () metod för att bestämma storleken. Ger längdegenskap för att bestämma längden. Inga konceptdimensioner men kan skapas som en vektor av vektorer, vanligtvis kallad 2d-vektor. Arrays stöder dimensioner. Vektor synkroniseras. Matrisen är inte synkroniserad. Vektor är långsammare än matrisen. Array är snabbare. Säkerställer typsäkerhet genom att stödja generiska läkemedel. Inget generiskt stöd.
Vector vs ArrayList
Detta avsnitt diskuterar skillnaden mellan Vector och ArrayList i Java.
Vektor ArrayList Vector har stegstorlek med vilken vektorstorlek som kan ökas. ArrayList ger inte stegstorlek. Finns sedan den ursprungliga versionen av Java (JDK 1.0 version). Introducerad i Java sedan JDK 1.2 Vector är en äldre klass av Java. ArrayList är en del av Java Collections Framework. Vector blir dubbelt så stor som dess kapacitet når. ArrayList växer med halva storleken när kapaciteten uppnås. Vektormetoder synkroniseras. ArrayList är inte synkroniserad. Vector använder Enumerator och Iterator för att korsa. ArrayList använder endast Iterator. Vektoroperationer går långsammare. ArrayList är snabbare. Vector är trådsäker vilket innebär att användning av Vector från flera trådar är tillåten och är säker. ArrayList är inte trådsäker.
Vanliga frågor
F # 1) Vad är en vektor i Java?
Svar: I Java kan en vektor definieras som en odlingsbar uppsättning objekt. I likhet med matriser kan vektorelement också nås med hjälp av index.
F # 2) Beställs vektor i Java?
Svar: Ja. En vektor beställs och bibehåller infogningsordningen för element.
F # 3) Är Vector-trådsäker i Java?
Svar: Ja. I Java är Vector-klassen trådsäker. Eftersom vektorklassen är synkroniserad gör den den trådsäker, dvs. du kan använda vektorklassen från flera trådar och den är säker.
F # 4) Varför använder vi vektor i Java?
Svar: Den viktigaste anledningen till att Vector används i Java är att en Vector växer och krymper automatiskt. De är dynamiska på grund av vilka de föredras framför matriser.
F # 5) Vilket är bättre - ArrayList eller vektor?
Svar: Prestationsmässigt ArrayList är snabbare jämfört med Vector eftersom Vector är synkroniserad och gör den långsammare.
Slutsats
I den här guiden började vi med vektordatastrukturen i Java. Vektorer liknar nästan en array där Vector-elementen nås med välkända index. Vektorer kallas dynamisk array och till skillnad från arrays växer Vector-storleken och krymper automatiskt.
Vektorer har också kapacitets- och inkrementfunktioner som kan användas för att skapa och reservera ytterligare lagring för framtida tillägg. Vector är en äldre klass i Java.util-paketet av Java och är synkroniserad såväl som trådsäker.
Således bör vi föredra vektorer när vi behöver dynamisk storlek och även när vi arbetar i en miljö med flera trådar.
=> Besök här för den exklusiva Java-utbildningsserien.
Rekommenderad läsning
- JAVA-handledning för nybörjare: 100+ praktiska Java-videohandledning
- Java Reflection Tutorial med exempel
- Java-gränssnitt och abstrakt klasshandledning med exempel
- Jagged Array In Java - Handledning med exempel
- Java Array Length Tutorial With Code Exempel
- Hur man sorterar en matris i Java - Handledning med exempel
- Java 'detta' Nyckelord: Handledning med kodexempel
- Åtkomstmodifierare i Java - Handledning med exempel