what is java vector java vector class tutorial with examples
Acest tutorial explică totul despre structura datelor vectoriale în Java cu exemple. Veți învăța să creați, să inițiați, să sortați și să utilizați un vector Java în programele dvs.:
Un vector poate fi definit ca o matrice dinamică care se poate dezvolta sau micșora de la sine, adică vectorul va crește atunci când sunt adăugate mai multe elemente la acesta și se va micșora atunci când elementele sunt eliminate din el.
Acest comportament este diferit de cel al matricelor care sunt statice. Dar, asemănător matricilor, elementele vectoriale pot fi accesate folosind indici întregi.
=> Verificați aici pentru a vedea A-Z a tutorialelor de instruire Java aici.
Un vector poate fi văzut ca similar cu o altă structură de date cu matrice dinamică, ArrayList, cu excepția celor două diferențe de mai jos:
- Vectorul este sincronizat, adică toate metodele din Vector sunt marcate „sincronizate” și astfel, odată ce o metodă este invocată, aceeași metodă nu poate fi invocată decât dacă apelul anterior s-a încheiat.
- Clasa vector are multe metode care nu fac parte din cadrul colecțiilor, ci metodele sale vechi.
Ce veți învăța:
Java Vector Class
O clasă Vector este în afară de „ java.util ”Pachet și implementează interfața Listă. Un Vector este o matrice de obiecte sau vector de obiecte.
O declarație de clasă a clasei Vector este dată mai jos:
public class Vector extends Object implements List, Cloneable, Serializable
După cum se arată mai sus, o clasă Vector extinde „ java.lang.object ”Și implementează interfețe de listă, clonabile și serializabile.
Cum se creează un vector în Java?
Puteți crea un obiect Vector folosind oricare dintre următoarele metode de constructor Vector.
este cheia de rețea la fel ca parola
Prototipul constructorului | Descriere | |
---|---|---|
clar | Vid clar () | Șterge vectorul elementelor sale. |
vector() | Acesta este constructorul implicit al clasei Vector. Se creează un vector gol cu dimensiunea 10. | |
vector (int initialCapacity) | Acest constructor suprasolicitat construiește un obiect Vector gol cu capacitatea = initialCapacity. | |
vector (int initialCapacity, int capacityIncrement) | Această metodă constructor creează un obiect Vector gol cu specificat initialCapacity și capacityIncrement. | |
Vector (colecția c) | Un obiect Vector este creat cu elementele inițiale din colecția specificată c. |
Să ne uităm la fiecare dintre constructori pentru a inițializa obiecte Vector.
Inițializați Vector
(i) Vector ()
Acesta este constructorul implicit al clasei Vector. Când invocați acest constructor, se creează un obiect Vector cu dimensiunea implicită 10.
Sintaxa generală a acestei metode este:
Obiect Vector = Vector nou ();
De exemplu,
Vector vec1 = new Vector ();
Afirmația de mai sus creează un nou vector „vec1” cu dimensiunea 10.
(ii) Vector (int initialCapacity)
Constructorul suprasolicitat al clasei Vector acceptă „initialCapacity” ca argument. Acest constructor creează un obiect Vector cu capacitatea specificată.
Sintaxa generală a metodei este:
Obiect Vector = Vector nou (initialCapacity);
De exemplu,
Vector vec1 = new Vector (10);
Declarația de programare de mai sus va crea un obiect Vector „vec1” cu capacitatea de 10, adică acest Vector poate stoca până la 10 elemente.
(iii) Vector (int initialCapacity, int capacityIncrement)
Acesta este încă un alt constructor suprasolicitat al clasei Vector și creează un obiect Vector cu capacitatea inițială specificată și creșterea capacității.
Sintaxa generală pentru această metodă este:
Obiect Vector = Vector nou (initialCapacity, capacityIncrement);
De exemplu,
Vector vec1 = new Vector(5,10);
În afirmația de mai sus, capacitatea inițială a Vectorului este 5 și incrementul este 10. Aceasta înseamnă când 6aelementul este introdus în vector, capacitatea vectorului va fi mărită la 15 (5 + 10). În mod similar, atunci când 16aelementul este inserat, capacitatea vectorială a vectorului va fi extinsă la 25 (15 +10).
(iv) Vector (colecția c)
Ultimul constructor supraîncărcat al clasei Vector ia într-o colecție predefinită ca argument și creează un Vector cu toate elementele din această colecție ca elemente.
Sintaxa generală este:
Obiect Vector = Vector nou (Colecția c);
De exemplu,
Vector vec1 = new Vector(aList); where aList = {1,2,3,4,5};
Afirmația de mai sus va crea un vector „vec1” cu elemente inițiale ca {1,2,3,4, 5}.
Ținând cont de toate aceste descrieri ne va permite să implementăm un program Vector pentru a înțelege mai bine acești constructori.
Metode vectoriale în Java
Următoarele sunt metodele care sunt acceptate de clasa Vector în Java.
Nume metodă | Prototip | Descriere |
---|---|---|
adăuga | Adăugare booleană (E e) | Adaugă elementul dat la sfârșitul vectorului. |
Adăugare nulă (index int, element E) | Adăugați element la vector la indexul specificat. | |
adaugă totul | Boolean addAll (Colecția c) | Adaugă toate elementele din colecția dată la sfârșitul vectorului. |
Boolean addAll (int index, Colecția c) | Adaugă toate elementele din colecția specificată la indexul specificat. | |
addElement | void addElement (E obj) | Adaugă elementul specificat la sfârșitul vectorului prin mărirea dimensiunii vectorului. |
Capacitate | Capacitate int () | Returnează capacitatea curentă a vectorului. |
Clonează | Clonare obiect () | Clonează vectorul. |
Conține | Boolean conține (Obiectul o) | Verifică dacă vectorul conține elementul specificat. |
conțineToate | Boolean conține All (Colecția c) | Verifică dacă vectorul conține toate elementele prezente într-o colecție dată. |
copyInto | Anulați copierea (Object () anArray) | Copiază elementele vectoriale într-o matrice dată. |
ElementAt | E ElementAt (index int) | Returnează elementul vector la indexul specificat. |
Elemente | Enumerationelements () | Returnează componentele enumerate pentru vector. |
asiguraCapacitate | Anular asigura capacitate (min capacitate int) | Crește capacitatea vectorului pentru a atinge capacitatea minimă specificată. |
Nume metodă | Prototip | Descriere |
---|---|---|
insertElementAt | Void insertElementAt (E obj, int index) | Inserează obiectul dat în vector la indexul dat. |
La fel | Boolean este egal (Obiectul o) | Compară vectorul curent cu vectorul specificat pentru a verifica dacă sunt egali. |
firstElement | E firstElement () | Returnează primul element al vectorului la indexul 0. |
obține | E get (int index) | Returnează elementul din vector la indexul specificat. |
hashCode | int hashCode () | Returnează valoarea codului hash pentru Vector. |
Index de | int indexOf (Obiectul o) | găsește indexul primei apariții a elementului dat în vector; -1 dacă elementul nu este prezent în vector. |
int indexOf (Obiectul o, indexul int) | Căutați vectorul din indexul dat în direcția înainte pentru elementul specificat; returnează indexul dacă elementul este găsit altfel -1 dacă elementul nu este găsit. | |
este gol | Boolean isEmpty () | Verifică dacă vectorul este gol. |
Iterator | Iteratoriterator () | Returnează un iterator care este folosit pentru a traversa elementele vectorului. |
lastElement | E lastElement () | Returnează ultimul element al vectorului. |
lastIndexOf | Int lastIndexOf (Obiectul o) | Caută vectorul pentru ultima apariție a elementului dat și returnează indexul sau returnează -1 elementul nu a fost găsit. |
Int lastIndexOf (Obiectul o, indexul int) | Începe să caute ultima apariție a elementului dat din indexul dat înapoi. Returnează indexul dacă elementul este găsit altfel returnează -1. | |
listIterator | ListIteratorlistIterator () | Returnează un iterator de listă peste elementele vectoriale. |
ListIteratorlistIterator (index int) | Returnează un iterator de listă peste elementele vectoriale începând de la indexul dat. |
Nume metodă | Prototip | Descriere |
---|---|---|
removeRange | nul protejat removeRange (int fromIndex, int toIndex) | Șterge toate elementele din vectorul din intervalul dat de laIndex (inclusiv), totoIndex (exclusiv). |
Elimina | Șterge E (index int) | Șterge elementul la indexul dat din vector. |
Eliminare booleană (Obiectul o) | Șterge prima apariție a elementului dat din vector. Dacă elementul nu este prezent, nimic nu se întâmplă cu vectorul | |
inlătură tot | Boolean removeAll (Colecția c) | Șterge toate elementele din vectorul care sunt prezente în colecția dată. |
void removeAll Elements () | Șterge toate elementele vectoriale, reducându-le astfel la dimensiunea zero. | |
removeElement | RemoveElement boolean (obiect obiect) | Elimină prima apariție a elementului dat din vector. |
void removeElementAt (int index) | Șterge elementul de la indexul dat. | |
keepAll | Boolean retainAll (Colecția c) | Spre deosebire de „removeAll”, metoda retainAll reține elementele din Vector care se potrivesc cu elementele din colecția specificată. |
a stabilit | Set E (index int, element E) | Setează valoarea la indexul dat cu noul element furnizat. |
Set de elemente Void ElementAt (E obj, index int) | Setează elementele date la indexul dat. | |
setSize | Void setSize (int newSize) | Setează dimensiunea dată pentru acest vector. |
mărimea | int size () | Returnează numărul de elemente din acest vector sau lungimea vectorului. |
subListă | ListsubList (intfromIndex, inttoIndex) | Returnează o vizualizare sau o sub-listă a vectorului care variază de la de la index până la index. |
toArray | Obiect () toArray () | Convertește vectorul dat într-o matrice care conține toate elementele vectoriale în ordinea dată. |
T () toArray (T () a) | Returnează o matrice de tip specificat care conține toate elementele vectoriale. | |
toString | String toString () | Returnează o reprezentare în șir a vectorului. |
trimToSize | void trimToSize () | Reduce vectorul pentru a se potrivi cu dimensiunea curentă. |
Implementarea vectorului
Următorul program Java demonstrează utilizarea tuturor metodelor de constructor descrise mai sus.
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); } }
Ieșire:
Programul de mai sus conține patru vectori. Primul v1 este creat cu un constructor implicit. Al doilea Vector v2 este creat cu capacitatea inițială de 20. Apoi, câteva elemente sunt adăugate la v2. Al treilea Vector este creat cu o capacitate inițială de 30 și increment 10.
Apoi, creăm o ArrayList și creăm un al patrulea Vector v4 cu ArrayList ca argument. În cele din urmă, afișăm conținutul fiecăruia dintre acești vectori.
Rețineți conținutul celui de-al patrulea Vector v4. Deoarece am furnizat ArrayList ca argument, conținutul ArrayList devine conținutul v4.
Exemplu complet de vector
Acum, să implementăm încă un alt program care va funcționa demonstrează crearea de vectori, adăugând elemente la acesta și afișând conținutul acestuia.
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)); } }
Ieșire:
Să luăm un alt exemplu vectorial. În acest program, vom face utilizați un vector șir . Manipulăm acest vector adăugând elemente și apoi imprimăm dimensiunea și capacitatea acestuia.
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() + ' '); } }
Ieșire:
unde pot viziona anime gratuit
Sortați un vector
De asemenea, puteți sorta un vector în funcție de o anumită ordine. Pentru sortarea unui vector, trebuie să utilizați metoda Collections.sort () din Java Collections Framework.
Următorul exemplu prezintă sortarea vectorială.
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); } }
Ieșire:
Programul de mai sus creează un Vector de numere impare. Apoi folosind metoda Collections.sort (), Vectorul este sortat.
Vector 2D (bidimensional)
Un Vector 2d este un Vector care are fiecare dintre elementele sale ca Vector. Poate fi denumit și „Vectorul vectorilor”.
Un exemplu de mai jos demonstrează Vectorul 2d.
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 Ieșire:

În programul de mai sus, avem un Vector de patru elemente. Apoi, declarăm un alt vector și adăugăm vectorul anterior ca element la al doilea vector. Rețineți modul în care elementele vectorului sunt accesate. Formați bucla for, puteți concluziona că primul element al vectorului exterior (la index 0) este primul sau interiorul vectorului.
Astfel, în buclă, păstrăm indexul vectorului exterior ca 0 și buclăm prin vectorul interior pentru a afișa toate elementele.
Convertiți vectorul în matrice
Să luăm în considerare următorul exemplu de conversie a unui vector într-o matrice. Pentru a converti un Vector într-un Array, folosim metoda „toArray” din clasa Vector.
În următorul exemplu de programare , declarăm un șir Vector și adăugăm elemente la acesta. Apoi, folosind metoda toArray din clasa Vector, convertim Vectorul într-o matrice String, trecând obiectul matricei de șiruri ca 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 + ' '); } } }
Ieșire:

Vector vs Array
Mai jos sunt enumerate câteva dintre diferențele dintre un vector și o matrice.
Vector Matrice Rezervă spațiu de stocare suplimentar atunci când capacitatea este mărită. Nu rezervă niciun spațiu de stocare suplimentar. Vectorul este dinamic și dimensiunea sa crește și se micșorează pe măsură ce elementele sunt adăugate sau eliminate. Tablourile sunt statice și dimensiunea sa rămâne fixă odată declarată. Vectorii pot stoca numai obiecte. Tablourile pot stoca tipuri primitive, precum și obiecte. Oferă o metodă size () pentru a determina dimensiunea. Oferă proprietate lungime pentru a determina lungimea. Nu există dimensiuni de concept, dar pot fi create ca vector de vectori, numit în mod normal vector 2d. Dimensiunile de suport ale matricilor. Vectorul este sincronizat. Matricea nu este sincronizată. Vectorul este mai lent decât matricea. Matricea este mai rapidă. Asigură siguranța tipului prin susținerea genericelor. Fără suport generic.
Vector vs ArrayList
Această secțiune discută diferența dintre Vector și ArrayList în Java.
Vector ArrayList Vectorul are dimensiunea incrementală, folosind dimensiunea vectorului care poate fi mărită. ArrayList nu oferă dimensiunea incrementală. Prezent de la versiunea inițială a Java (versiunea JDK 1.0). Introdus în Java de la JDK 1.2 Vectorul este o clasă veche de Java. ArrayList face parte din Java Collections Framework. Vectorul crește dublul dimensiunii sale atunci când capacitatea sa este atinsă. ArrayList crește la jumătate din dimensiune atunci când capacitatea sa este atinsă. Metodele vectoriale sunt sincronizate. ArrayList nu este sincronizat. Vector folosește Enumerator și Iterator pentru traversare. ArrayList folosește numai Iterator. Operațiile vectoriale sunt mai lente. ArrayList este mai rapid. Vectorul este sigur pentru fire, ceea ce înseamnă că este permisă și sigură utilizarea Vectorului din mai multe fire. ArrayList nu este sigur pentru fire.
întrebări frecvente
Q # 1) Ce este un vector în Java?
Răspuns: În Java, un vector poate fi definit ca o matrice de obiecte cultivabile. Similar cu matricele, elementele vectoriale pot fi accesate și folosind indici.
Q # 2) Este vectorul comandat în Java?
Răspuns: Da. Un vector este ordonat și menține ordinea de inserare a elementelor.
Î. # 3) Vectorul este sigur pentru fire în Java?
Răspuns: Da. În Java, clasa Vector este sigură pentru fire. Deoarece clasa Vector este sincronizată, o face sigură pentru fire, adică puteți utiliza clasa Vector din mai multe fire și este sigură.
Q # 4) De ce folosim vectorul în Java?
Răspuns: Cel mai important motiv pentru care Vector este utilizat în Java este acela că un Vector crește și se micșorează automat. Acestea sunt dinamice din cauza cărora sunt preferate în fața matricelor.
Q # 5) Ce este mai bine - ArrayList sau vector?
Răspuns: Performanța ArrayList este mai rapidă în comparație cu Vector, deoarece Vector este sincronizat și îl face mai lent.
Concluzie
În acest tutorial, am început cu structura de date Vector în Java. Vectorii sunt aproape similari cu o matrice în care elementele Vector sunt accesate folosind indici familiari. Vectorii sunt numiți matrice dinamică și, spre deosebire de matrice, dimensiunea vectorului crește și se micșorează automat.
Vectorii au, de asemenea, capacități și caracteristici de creștere care pot fi utilizate pentru a crea și rezerva spațiu de stocare suplimentar pentru viitoarele adăugiri. Vectorul este o clasă veche din pachetul Java jutil.util și este sincronizat, precum și sigur.
Astfel, ar trebui să preferăm vectorii atunci când avem nevoie de dimensiuni dinamice și, de asemenea, în timp ce lucrăm într-un mediu multi-thread.
=> Vizitați aici pentru seria exclusivă de instruire Java.
Lectură recomandată
- Tutorial JAVA pentru începători: peste 100 de tutoriale video Java practice
- Tutorial de reflecție Java cu exemple
- Interfață Java și tutorial de clasă abstractă cu exemple
- Matrice Jagged în Java - Tutorial cu exemple
- Tutorial Java Array Length cu exemple de cod
- Cum să sortați o matrice în Java - Tutorial cu exemple
- Cuvânt cheie Java „acest”: Tutorial cu exemple de cod
- Modificatori de acces în Java - Tutorial cu exemple