what is java vector java vector class tutorial with examples
Tento tutoriál vysvetľuje príklady všetkých štruktúr vektorových údajov v Jave. Naučíte sa vytvárať, inicializovať, triediť a používať vektor Java vo svojich programoch:
Vektor možno definovať ako dynamické pole, ktoré sa môže zväčšovať alebo zmenšovať samo, t. J. Vektor bude rásť, keď sa doň pridá viac prvkov, a zmenší sa, keď sa z neho odstránia prvky.
Toto správanie sa líši od správania statických polí. Ale podobne ako v poliach, aj k vektorovým prvkom sa dá dostať pomocou celočíselných indexov.
=> Tu nájdete A-Z výučbových kurzov Java.
Na vektor sa dá pozerať ako na podobný inej dátovej štruktúre dynamického poľa, ArrayList okrem dvoch rozdielov uvedených nižšie:
- Vektor je synchronizovaný, t. J. Všetky metódy vo vektore sú označené ako „synchronizované“, a teda akonáhle je vyvolaná metóda, nemožno vyvolať tú istú metódu, pokiaľ sa neskončil predchádzajúci hovor.
- Trieda vektorov má veľa metód, ktoré nie sú súčasťou rámca zbierok, ale sú ich pôvodnými metódami.
Čo sa dozviete:
Java Vector Class
Trieda Vector je okrem „ java.util ”Balíček a implementuje rozhranie zoznamu. Vektor je pole objektov alebo vektor objektov.
Deklarácia triedy triedy Vector je uvedená nižšie:
public class Vector extends Object implements List, Cloneable, Serializable
Ako je uvedené vyššie, trieda Vector rozširuje „ java.lang.objekt ”A implementuje rozhrania List, Cloneable a Serializable.
Ako vytvoriť vektor v Jave?
Vektorový objekt môžete vytvoriť pomocou ktorejkoľvek z nasledujúcich metód konštruktora vektorov.
spôsoby, ako sledovať anime zadarmo
Prototyp konštruktéra | Popis | |
---|---|---|
jasný | Prázdne miesto () | Vymaže vektor jeho prvkov. |
vektor () | Toto je predvolený konštruktor triedy Vector. Vytvorí prázdny vektor s veľkosťou 10. | |
vektor (int initialCapacity) | Tento preťažený konštruktor skonštruuje prázdny vektorový objekt s kapacitou = initialCapacity. | |
vektor (int initialCapacity, int capacityIncrement) | Táto metóda konštruktora vytvorí prázdny objekt Vector so zadanými initialCapacity a capacityIncrement. | |
Vektor (zbierka c) | Vektorový objekt je vytvorený s počiatočnými prvkami zo zadanej kolekcie c. |
Pozrime sa na každého z konštruktorov na inicializáciu vektorových objektov.
Inicializovať vektor
(i) Vektor ()
Toto je predvolený konštruktor triedy Vector. Po vyvolaní tohto konštruktora sa vytvorí objekt Vector s predvolenou veľkosťou 10.
Všeobecná syntax tejto metódy je:
Vektorový objekt = nový Vector ();
Napríklad,
Vector vec1 = new Vector ();
Vyššie uvedené vyhlásenie vytvára nový Vektor „vec1“ s veľkosťou 10.
(ii) Vektor (int initialCapacity)
Preťažený konštruktor triedy Vector prijíma ako argument ‘initialCapacity’. Tento konštruktor vytvorí vektorový objekt so zadanou kapacitou.
Všeobecná syntax metódy je:
Vektorový objekt = nový Vector (initialCapacity);
Napríklad,
Vector vec1 = new Vector (10);
Vyššie uvedené programovacie vyhlásenie vytvorí vektorový objekt „vec1“ s kapacitou 10, t. J. Tento Vector môže uložiť až 10 prvkov.
(iii) Vektor (int initialCapacity, int capacityIncrement)
Toto je ďalší preťažený konštruktor triedy Vector a vytvára objekt Vector so zadanou počiatočnou kapacitou a prírastkom kapacity.
Všeobecná syntax pre túto metódu je:
Vektorový objekt = nový Vektor (initialCapacity, capacityIncrement);
Napríklad,
Vector vec1 = new Vector(5,10);
Vo vyššie uvedenom výroku je počiatočná kapacita Vektoru 5 a prírastok 10. To znamená, keď 6thprvok sa vloží do vektora, kapacita vektora sa zvýši na 15 (5 + 10). Podobne, keď 16thelement je vložený, vektorová kapacita Vectoru sa rozšíri na 25 (15 +10).
(iv) Vektor (zbierka c)
Posledný preťažený konštruktor triedy Vector vezme preddefinovanú kolekciu ako argument a vytvorí Vector so všetkými prvkami z tejto kolekcie ako svoje prvky.
Všeobecná syntax je:
Vektorový objekt = nový Vektor (kolekcia c);
Napríklad,
Vector vec1 = new Vector(aList); where aList = {1,2,3,4,5};
Vyššie uvedené vyhlásenie vytvorí vektor „vec1“ s počiatočnými prvkami ako {1,2,3,4, 5}.
Ak budeme mať na pamäti všetky tieto popisy, umožní nám to implementovať program Vector, aby sme týmto konštruktérom lepšie porozumeli.
Vektorové metódy v Jave
Nasledujú metódy, ktoré podporuje trieda Vector v Jave.
Názov metódy | Prototyp | Popis |
---|---|---|
pridať | Boolovský prírastok (E e) | Pridá daný prvok na koniec vektora. |
Void add (int index, E element) | Pridajte prvok do vektora v zadanom indexe. | |
pridať všetko | Boolean addAll (kolekcia c) | Pridá všetky prvky z danej kolekcie na koniec vektora. |
Boolean addAll (int index, kolekcia c) | Pridá všetky prvky v zadanej kolekcii v zadanom indexe. | |
addElement | void addElement (E obj) | Pridá zadaný prvok na koniec vektora zväčšením veľkosti vektora. |
Kapacita | Vnútorná kapacita () | Vráti aktuálnu kapacitu vektora. |
Klonovať | Klon objektu () | Klonuje vektor. |
Obsahuje | Boolean obsahuje (objekt o) | Skontroluje, či vektor obsahuje zadaný prvok. |
obsahujeVšetko | Boolean obsahuje All (kolekcia c) | Skontroluje, či vektor obsahuje všetky prvky prítomné v danej kolekcii. |
copyInto | Zrušiť copyInto (Object () anArray) | Skopíruje vektorové prvky do daného poľa. |
ElementAt | E ElementAt (int index) | Vráti vektorový prvok v zadanom indexe. |
Prvky | Enumerationelements () | Vráti vymenované komponenty vektora. |
zabezpečiť kapacitu | Zrušiť zaistenie kapacity (int minCapacity) | Zvyšuje kapacitu vektora, aby splnil zadanú minimálnu kapacitu. |
Názov metódy | Prototyp | Popis |
---|---|---|
insertElementAt | Void insertElementAt (E obj, int index) | Vloží daný objekt do vektora pri danom indexe. |
Rovná sa | Boolean equals (Objekt o) | Porovná aktuálny vektor so zadaným vektorom a skontroluje, či sú rovnaké. |
firstElement | E firstElement () | Vráti prvý prvok vektora s indexom 0. |
Získajte | Získať (int index) | Vráti prvok vo vektore so zadaným indexom. |
hashCode | int hashCode () | Vráti hodnotu hash kódu pre Vector. |
indexOf | int indexOf (Objekt o) | vyhľadá index prvého výskytu daného prvku vo vektore; -1, ak prvok nie je prítomný vo vektore. |
int indexOf (Objekt o, int index) | Vyhľadá vektor z daného indexu v smere dopredu pre zadaný prvok; vráti index, ak sa nájde prvok, inak -1, ak sa prvok nenájde. | |
je prázdny | Boolean isEmpty () | Skontroluje, či je vektor prázdny. |
Iterátor | Iteratoriterator () | Vráti iterátor, ktorý sa používa na pohyb po prvkoch vektora. |
lastElement | E lastElement () | Vráti posledný prvok vektora. |
lastIndexOf | Int lastIndexOf (objekt o) | Vyhľadá vo vektore posledný výskyt daného prvku a vráti index alebo vráti hodnotu -1, ktorá prvok nenájde. |
Int lastIndexOf (objekt o, int index) | Začína vyhľadávať posledný výskyt daného prvku z daného indexu dozadu. Vráti index, ak sa nájde prvok, inak vráti -1. | |
listIterator | ListIteratorlistIterator () | Vráti iterátor zoznamu nad vektorovými prvkami. |
ListIteratorlistIterator (int index) | Vráti iterátor zoznamu nad vektorovými prvkami počnúc daným indexom. |
Názov metódy | Prototyp | Popis |
---|---|---|
removeRange | Protected Void removeRange (int fromIndex, int toIndex) | Vymaže všetky prvky z vektora v danom rozsahu od fromIndex (vrátane), totoIndex (exkluzívne). |
Odstrániť | E remove (int index) | Vymaže prvok z daného indexu z vektora. |
Boolean remove (Objekt o) | Vymaže prvý výskyt daného prvku z vektora. Ak prvok nie je prítomný, vektoru sa nič nestane | |
odobrať všetky | Boolean removeAll (kolekcia c) | Vymaže všetky prvky z vektora, ktoré sú prítomné v danej kolekcii. |
void removeAll Elements () | Vymaže všetky vektorové prvky, čím sa zmenší na nulu. | |
removeElement | Boolean removeElement (objekt obj) | Odstráni prvý výskyt daného prvku z vektora. |
void removeElementAt (int index) | Vymaže prvok pri danom indexe. | |
keepAll | Boolean keepAll (kolekcia c) | Na rozdiel od metódy „removeAll“ si metóda keepAll zachováva prvky vo Vectore, ktoré sa zhodujú s prvkami v určenej kolekcii. |
nastaviť | Sada E (int index, prvok E) | Nastaví hodnotu na danom indexe s novým poskytnutým prvkom. |
Sada neplatných prvkov ElementAt (E obj, int index) | Nastaví dané prvky na daný index. | |
setSize | Void setSize (int newSize) | Nastaví danú veľkosť tohto vektora. |
Veľkosť | veľkosť int () | Vráti počet prvkov v tomto vektore alebo dĺžku vektora. |
podzoznam | ListsubList (intfromIndex, inttoIndex) | Vráti zobrazenie alebo podskupinu vektorov v rozmedzí od indexu do indexu. |
toArray | Objekt () toArray () | Skonvertuje daný vektor na pole obsahujúce všetky vektorové prvky v danom poradí. |
T () toArray (T () a) | Vráti zadané pole typu obsahujúce všetky vektorové prvky. | |
natiahnuť | String toString () | Vráti reťazcovú reprezentáciu vektora. |
trimToSize | void trimToSize () | Orezá vektor tak, aby vyhovoval aktuálnej veľkosti. |
Vektorová implementácia
Nasledujúci program Java demonštruje použitie všetkých vyššie opísaných metód konštruktora.
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); } }
Výkon:
Vyššie uvedený program obsahuje štyri vektory. Prvý v1 je vytvorený s predvoleným konštruktorom. Druhý Vector v2 je vytvorený s počiatočnou kapacitou ako 20. Potom je do v2 pridaných niekoľko prvkov. Tretí Vektor je vytvorený s počiatočnou kapacitou 30 a prírastkom 10.
Ďalej vytvoríme ArrayList a vytvoríme štvrtý Vector v4 s ArrayList ako argumentom. Nakoniec zobrazíme obsah každého z týchto vektorov.
Všimnite si obsah štvrtého Vector v4. Ako sme uviedli ako argument ArrayList, obsah ArrayList sa stane obsahom verzie 4.
Kompletný vektorový príklad
Teraz implementujme ešte ďalší program, ktorý to urobí demonštrovať vytváranie vektorov, pridávať do nich prvky a zobrazovať ich obsah.
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)); } }
Výkon:
Zoberme si ďalší vektorový príklad. V tomto programe budeme použite reťazcový vektor . S týmto vektorom manipulujeme pridaním prvkov a potom vytlačíme jeho veľkosť a kapacitu.
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() + ' '); } }
Výkon:
Zoradiť vektor
Vektor môžete tiež triediť podľa konkrétnej objednávky. Na triedenie Vectoru musíte použiť metódu Collections.sort () v prostredí Java Collections Framework.
Nasledujúci príklad ukazuje vektorové triedenie.
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); } }
Výkon:
Vyššie uvedený program vytvorí Vektor nepárnych čísel. Potom sa pomocou metódy Collections.sort () vektor roztriedi.
2D (dvojrozmerný) vektor
2d Vektor je Vektor, ktorý má každý zo svojich prvkov ako Vektor. Môže sa tiež nazvať „Vektor vektorov“.
Nasledujúci príklad demonštruje 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 Výkon:

Vo vyššie uvedenom programe máme Vektor štyroch prvkov. Potom deklarujeme ďalší vektor a do druhého vektora pridáme predchádzajúci vektor ako prvok. Všimnite si spôsob prístupu k prvkom vektora. Vytvorte slučku for a môžete usúdiť, že prvý prvok vonkajšieho vektora (v indexe 0) je prvý alebo vnútorný vektor.
Teda v slučke udržujeme index vonkajšieho vektora ako 0 a prechádzame vnútorným vektorom, aby sme zobrazili všetky prvky.
Premeniť vektor na pole
Uvažujme o nasledujúcom príklade prevodu Vektoru na pole. Na prevod vektora na pole používame metódu ‘toArray’ triedy Vector.
V nasledujúcom príklade programovania , deklarujeme reťazec Vector a pridáme doň prvky. Potom pomocou metódy toArray triedy Vector prevedieme Vector na String pole tak, že objekt argumentového reťazca odovzdáme ako 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 + ' '); } } }
Výkon:

Vector vs Array
Nižšie sú uvedené niektoré rozdiely medzi vektorom a poľom.
Vektor Pole Rezervuje ďalšie úložisko, keď sa zvýši kapacita. Nehradí si žiadne ďalšie úložisko. Vektor je dynamický a jeho veľkosť sa pri pridávaní alebo odstraňovaní prvkov zväčšuje a zmenšuje. Polia sú statické a ich veľkosť zostáva po deklarovaní pevná. Vektory môžu ukladať iba objekty. Polia môžu ukladať primitívne typy aj objekty. Poskytuje metódu size () na určenie veľkosti. Poskytuje vlastnosť dĺžky na určenie dĺžky. Žiadne koncepčné rozmery, ale je možné ich vytvoriť ako vektor vektorov, ktorý sa bežne nazýva 2D vektor. Polia podporujú rozmery. Vektor je synchronizovaný. Pole nie je synchronizované. Vektor je pomalší ako pole. Pole je rýchlejšie. Zaisťuje bezpečnosť typu podporou generík. Žiadna všeobecná podpora.
Vektor vs ArrayList
Táto časť pojednáva o rozdieloch medzi Vector a ArrayList v Jave.
ako môžem hrať súbory mkv
Vektor ArrayList Vektor má prírastkovú veľkosť, pomocou ktorej je možné veľkosť vektora zväčšiť. ArrayList neposkytuje veľkosť prírastku. Je k dispozícii od počiatočnej verzie Java (verzia JDK 1.0). Predstavený v Jave od JDK 1.2 Vector je stará trieda Java. ArrayList je súčasťou rámca Java Collections Framework. Vektor dosiahne dvojnásobnú veľkosť, keď dosiahne svoju kapacitu. Po dosiahnutí kapacity ArrayList narastie o polovicu veľkosti. Vektorové metódy sú synchronizované. ArrayList nie je synchronizovaný. Vektor používa na prechod enumerátor a iterátor. ArrayList používa iba iterátor. Operácie s vektormi sú pomalšie. ArrayList je rýchlejší. Vektor je bezpečný pre vlákna, čo znamená, že použitie vektora z viacerých vlákien je povolené a bezpečné. ArrayList nie je bezpečný pre vlákna.
často kladené otázky
Otázka č. 1) Čo je Vector v Jave?
Odpoveď: V Jave je možné Vector definovať ako pestovateľnú škálu objektov. Podobne ako v poliach, aj k vektorovým prvkom sa dá dostať pomocou indexov.
Otázka 2) Je vektor objednaný v Jave?
Odpoveď: Áno. Vektor je zoradený a zachováva poradie vkladania prvkov.
Otázka č. 3) Je Vector bezpečný v Jave?
Odpoveď: Áno. V Jave je trieda Vector bezpečná pre vlákna. Pretože je trieda Vector synchronizovaná, robí ju bezpečnou pre vlákna, t. J. Triedu Vector môžete používať z viacerých vlákien a je to bezpečné.
Otázka č. 4) Prečo používame v Jave vektor?
Odpoveď: Najdôležitejším dôvodom, prečo sa Vector v Jave používa, je ten, že sa Vector automaticky zväčšuje a zmenšuje. Sú dynamické, kvôli čomu sú uprednostňované pred poľami.
Otázka č. 5) Čo je lepšie - ArrayList alebo vektor?
Odpoveď: Performance AriseList je rýchlejší v porovnaní s Vector, pretože Vector je synchronizovaný a robí ho pomalším.
Záver
V tomto tutoriáli sme začali s dátovou štruktúrou Vector v Jave. Vektory sú takmer podobné poli, v ktorom sa k prvkom Vector pristupuje pomocou známych indexov. Vektory sa nazývajú dynamické pole a na rozdiel od polí sa veľkosť Vektoru automaticky zväčšuje a zmenšuje.
Vektory majú tiež kapacitu a prírastok, ktoré je možné použiť na vytvorenie a rezervu ďalšieho úložiska pre ďalšie prírastky. Vector je stará trieda v balíku java.util balíka Java a je synchronizovaný a rovnako bezpečný aj pre vlákna.
Preto by sme mali uprednostňovať vektory, keď potrebujeme dynamickú veľkosť, a tiež keď pracujeme v prostredí s viacerými vláknami.
=> Navštívte tu sériu exkluzívnych výukových programov Java.
Odporúčané čítanie
- Výukový program JAVA pre začiatočníkov: viac ako 100 praktických výučbových programov Java Video
- Výukový program Java Reflection s príkladmi
- Výukový program pre rozhranie Java a abstraktnú triedu s príkladmi
- Jagged Array In Java - návod s príkladmi
- Výukový program Java Array Length s príkladmi kódu
- Ako zoradiť pole v Jave - návod s príkladmi
- Java „toto“ kľúčové slovo: Výukový program s príkladmi kódu
- Modifikátory prístupu v Jave - návod s príkladmi