what is java vector java vector class tutorial with examples
Aquest tutorial explica tot sobre l'estructura de dades vectorials a Java amb exemples. Aprendreu a crear, inicialitzar, ordenar i utilitzar un vector Java als vostres programes:
Un vector es pot definir com una matriu dinàmica que pot créixer o reduir-se per si sola, és a dir, el vector creixerà quan s’hi afegeixin més elements i es reduirà quan se n’eliminin elements.
Aquest comportament és diferent del de les matrius que són estàtiques. Però, de manera similar a les matrius, es pot accedir als elements vectorials mitjançant índexs enters.
=> Consulteu aquí per veure aquí A-Z de tutorials de formació.
Un vector es pot veure similar a una altra estructura de dades de matriu dinàmica, ArrayList excepte les dues diferències següents:
- El vector està sincronitzat, és a dir, tots els mètodes de Vector estan marcats com a 'sincronitzats' i, per tant, un cop invocat un mètode, no es pot invocar el mateix mètode tret que hagi finalitzat la trucada anterior.
- La classe vectorial té molts mètodes que no formen part del marc de col·leccions, sinó dels seus mètodes heretats.
Què aprendreu:
Java Vector Class
Una classe de Vector és a part del “ java.util ”Paquet i implementa la interfície de la llista. Un vector és un conjunt d'objectes o vector d'objectes.
A continuació es proporciona una declaració de classe de classe Vector:
public class Vector extends Object implements List, Cloneable, Serializable
Com es mostra més amunt, una classe Vector amplia ' java.lang.object ”I implementa interfícies de llista, clonables i serialitzables.
Com es crea un vector a Java?
Podeu crear un objecte Vector mitjançant qualsevol dels mètodes següents del constructor Vector.
resolució de problemes de xarxa preguntes i respostes de les entrevistes pdf
Prototip de constructor | Descripció | |
---|---|---|
Clar | Buit clar () | Esborra el vector dels seus elements. |
vector() | Aquest és el constructor per defecte de la classe Vector. Crea un vector buit amb la mida 10. | |
vector (int initialCapacity) | Aquest constructor sobrecarregat construeix un objecte Vector buit amb la capacitat = initialCapacity. | |
vector (int initialCapacity, int capacityIncrement) | Aquest mètode constructor crea un objecte Vector buit amb initialCapacity i capacityIncrement especificats. | |
Vector (col·lecció c) | Es crea un objecte Vector amb els elements inicials de la col·lecció especificada c. |
Vegem cadascun dels constructors per inicialitzar objectes vectorials.
Inicialitzar Vector
(i) Vector ()
Aquest és el constructor per defecte de la classe Vector. Quan invoqueu aquest constructor, es crea un objecte Vector de mida predeterminada 10.
La sintaxi general d’aquest mètode és:
Objecte vectorial = nou Vector ();
Per exemple,
Vector vec1 = new Vector ();
La declaració anterior crea un nou vector 'vec1' amb la mida 10.
(ii) Vector (int initialCapacity)
El constructor sobrecarregat de la classe Vector accepta 'initialCapacity' com a argument. Aquest constructor crea un objecte Vector amb la capacitat especificada.
La sintaxi general del mètode és:
Objecte vectorial = nou vector (capacitat inicial);
Per exemple,
Vector vec1 = new Vector (10);
La declaració de programació anterior crearà un objecte Vector ‘vec1’ amb una capacitat de 10, és a dir, aquest Vector pot emmagatzemar fins a 10 elements.
(iii) Vector (int initialCapacity, int capacityIncrement)
Aquest és un altre constructor sobrecarregat de la classe Vector i crea un objecte Vector amb la capacitat inicial especificada i l'increment de la capacitat.
La sintaxi general d’aquest mètode és:
Objecte vectorial = nou vector (initialCapacity, capacityIncrement);
Per exemple,
Vector vec1 = new Vector(5,10);
A l’afirmació anterior, la capacitat inicial del vector és 5 i l’increment és 10. Això vol dir quan el 6ths'insereix un element al vector, la capacitat del vector s'incrementarà a 15 (5 + 10). De la mateixa manera, quan el 16ths’insereix l’element, la capacitat vectorial del vector s’ampliarà a 25 (15 +10).
(iv) Vector (col·lecció c)
L'últim constructor sobrecarregat de la classe Vector pren una col·lecció predefinida com a argument i crea un Vector amb tots els elements d'aquesta col·lecció com a elements.
La sintaxi general és:
Objecte vectorial = nou vector (col·lecció c);
Per exemple,
Vector vec1 = new Vector(aList); where aList = {1,2,3,4,5};
L'afirmació anterior crearà un vector 'vec1' amb elements inicials com a {1,2,3,4, 5}.
Tenint en compte totes aquestes descripcions, ens permetrà implementar un programa Vector per entendre millor aquests constructors.
Mètodes vectorials a Java
Els següents són els mètodes compatibles amb la classe Vector a Java.
Nom del mètode | Prototip | Descripció |
---|---|---|
afegir | Afegiment booleà (E e) | Afegeix un element donat al final del vector. |
Afegeix el buit (índex int, element E) | Afegiu un element al vector a l’índex especificat. | |
addAll | AddAll booleà (col·lecció c) | Afegeix tots els elements de la col·lecció donada al final del vector. |
AddAll booleà (índex int, col·lecció c) | Afegeix tots els elements de la col·lecció especificada a un índex especificat. | |
addElement | void addElement (E obj) | Afegeix l'element especificat al final del vector augmentant la mida del vector. |
Capacitat | Capacitat int () | Retorna la capacitat actual del vector. |
Clonar | Clon d'objectes () | Clona el vector. |
Conté | Booleà conté (objecte o) | Comprova si el vector conté un element especificat. |
conté Tot | El contingut booleà All (Collection c) | Comprova si el vector conté tots els elements presents en una col·lecció determinada. |
copyInto | Void copyInto (Object [] anArray) | Copia els elements vectorials en una matriu donada. |
ElementAt | E ElementAt (índex int) | Retorna l'element vectorial a l'índex especificat. |
Elements | Enumerationelements () | Retorna components enumerats per al vector. |
assegurar la capacitat | Nul assegurar la capacitat (int minCapacity) | Augmenta la capacitat del vector per complir la capacitat mínima especificada. |
Nom del mètode | Prototip | Descripció |
---|---|---|
insertElementAt | Void insertElementAt (E obj, int index) | Insereix l'objecte donat al vector a l'índex donat. |
És igual | Booleus iguals (objecte o) | Compara el vector actual amb el vector especificat per comprovar si són iguals. |
primerElement | E firstElement () | Retorna el primer element del vector a l’índex 0. |
Aconseguir | E get (índex int) | Retorna l'element del vector a l'índex especificat. |
hashCode | int hashCode () | Retorna el valor del codi hash per al vector. |
índex de | int indexOf (objecte o) | troba l'índex de la primera aparició de l'element donat al vector; -1 si l'element no està present al vector. |
int indexOf (objecte o, índex int) | Cerca l’element especificat en el vector de l’índex donat en direcció cap endavant; retorna l’índex si es troba l’element -1 si no es troba l’element. | |
està buit | Booleà isEmpty () | Comprova si el vector està buit. |
Iterador | Iteratoriterator () | Retorna un iterador que s'utilitza per recórrer els elements del vector. |
lastElement | E lastElement () | Retorna l'últim element del vector. |
lastIndexOf | Int lastIndexOf (objecte o) | Cerca en el vector la darrera aparició d'un element donat i retorna l'índex o retorna -1 l'element no s'ha trobat. |
Int lastIndexOf (objecte o, índex int) | Comença a cercar l'última aparició de l'element donat des de l'índex donat cap enrere. Retorna l'índex si es troba un element, sinó que retorna -1. | |
listIterator | ListIteratorlistIterator () | Retorna un iterador de llista sobre els elements vectorials. |
ListIteratorlistIterator (índex int) | Retorna un iterador de llista sobre els elements vectorials a partir de l'índex donat. |
Nom del mètode | Prototip | Descripció |
---|---|---|
removeRange | buit protegit removeRange (int fromIndex, int toIndex) | Suprimeix tots els elements del vector de l'interval donat de fromIndex (inclòs), totoIndex (exclusiu). |
Elimina | Elimina E (índex int) | Suprimeix l'element de l'índex donat del vector. |
Eliminació booleana (objecte o) | Elimina la primera aparició de l'element donat del vector. Si no hi ha element, no passa res al vector | |
esborra-ho tot | Booleà removeAll (col·lecció c) | Suprimeix tots els elements del vector que hi ha a la col·lecció donada. |
void removeAll Elements () | Elimina tots els elements vectorials reduint-los així a la mida zero. | |
removeElement | RemoveElement booleà (object object) | Elimina la primera aparició de l'element donat del vector. |
void removeElementAt (índex int) | Suprimeix l'element de l'índex indicat. | |
retainAll | Boolean retainAll (Col·lecció c) | A diferència de 'removeAll', el mètode retainAll conserva elements del vector que coincideixen amb els elements de la col·lecció especificada. |
conjunt | Conjunt E (índex int, element E) | Estableix el valor de l'índex donat amb el nou element proporcionat. |
Conjunt buit ElementAt (E obj, índex int) | Estableix els elements donats a l'índex donat. | |
setSize | Void setSize (int newSize) | Estableix la mida donada per a aquest vector. |
Mida | int size () | Retorna el nombre d'elements d'aquest vector o la longitud del vector. |
subLista | ListsubList (intfromIndex, inttoIndex) | Retorna una vista o sublista del vector que va des de l'Index fins a l'Index. |
toArray | Objecte [] toArray () | Converteix el vector donat en una matriu que conté tots els elements vectorials en un ordre determinat. |
T [] toArray (T [] a) | Retorna una matriu del tipus especificat que conté tots els elements vectorials. | |
toString | String toString () | Retorna una representació de cadena del vector. |
trimToSize | void trimToSize () | Retalla el vector per adaptar-lo a la mida actual. |
Implementació de vectors
El següent programa Java mostra l’ús de tots els mètodes constructors descrits anteriorment.
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); } }
Sortida:
El programa anterior inclou quatre vectors. El primer v1 es crea amb un constructor per defecte. El segon Vector v2 es crea amb una capacitat inicial de 20. A continuació, s’afegeixen pocs elements a v2. El tercer Vector es crea amb una capacitat inicial de 30 i un increment de 10.
A continuació, creem una ArrayList i creem un quart Vector v4 amb ArrayList com a argument. Finalment, mostrem el contingut de cadascun d’aquests vectors.
Tingueu en compte el contingut del quart Vector v4. Com hem proporcionat ArrayList com a argument, el contingut d'ArrayList es converteix en el contingut de v4.
Exemple complet de vectors
Ara implementem un altre programa que ho farà demostrar la creació de vectors, afegir-hi elements i mostrar-ne el contingut.
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)); } }
Sortida:
Prenem un altre exemple vectorial. En aquest programa, ho farem utilitzeu un vector de cadena . Manipulem aquest vector afegint elements i després imprimim la seva mida i capacitat.
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() + ' '); } }
Sortida:
Ordena un vector
També podeu ordenar un vector segons un ordre específic. Per ordenar un vector, heu d’utilitzar el mètode Collections.sort () de Java Collections Framework.
L'exemple següent mostra l'ordenació 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); } }
Sortida:
El programa anterior crea un vector de nombres senars. A continuació, mitjançant el mètode Collections.sort (), s’ordena el Vector.
Vector 2D (bidimensional)
Un vector 2d és un vector que té cadascun dels seus elements com a vector. També es pot anomenar com a 'vector de vectors'.
Un exemple següent mostra el vector 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 Sortida:
Al programa anterior, tenim un Vector de quatre elements. A continuació, declarem un altre vector i afegim el vector anterior com a element al segon vector. Tingueu en compte la manera d’accedir als elements del vector. Si formeu el bucle for, podeu concloure que el primer element del vector exterior (a l’índex 0) és el primer o el vector interior.
Així, al bucle, mantenim l’índex del vector exterior com a 0 i anem a través del vector interior per mostrar tots els elements.
Converteix Vector en matriu
Vegem l’exemple següent de convertir un vector en una matriu. Per convertir un vector en una matriu, fem servir el mètode ‘toArray’ de la classe Vector.
A l'exemple de programació següent , declarem una cadena Vector i hi afegim elements. A continuació, utilitzant el mètode toArray de la classe Vector, convertim el Vector a una matriu String passant l’objecte array array com a 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 + ' '); } } }
Sortida:
Vector vs matriu
A continuació es detallen algunes de les diferències entre un vector i una matriu.
Vector Matriu Reserva emmagatzematge addicional quan s'incrementa la capacitat. No reserva cap emmagatzematge addicional. El vector és dinàmic i la seva mida creix i es redueix a mesura que s’afegeixen o eliminen elements. Les matrius són estàtiques i la seva mida es manté fixa un cop declarades. Els vectors només poden emmagatzemar objectes. Les matrius poden emmagatzemar tipus primitius i objectes. Proporciona un mètode size () per determinar la mida. Proporciona propietat de longitud per determinar la longitud. No hi ha dimensions del concepte, però es pot crear com a vector de vectors, normalment anomenat vector 2d. Dimensions de suport de matrius. El vector està sincronitzat. La matriu no està sincronitzada. El vector és més lent que la matriu. La matriu és més ràpida. Assegura la seguretat dels tipus mitjançant el suport de genèrics. No hi ha suport genèric.
Vector vs ArrayList
En aquesta secció es discuteix la diferència entre Vector i ArrayList a Java.
arbre d’extensió mínim c ++
Vector ArrayList El vector té una mida d’increment mitjançant la qual es pot augmentar la mida del vector. ArrayList no proporciona una mida d’increment. Present des de la versió inicial de Java (versió JDK 1.0). Introduït a Java des de JDK 1.2 El vector és una classe heretada de Java. ArrayList forma part del Java Collections Framework. El vector creix el doble de la seva mida quan s’aconsegueix la seva capacitat. ArrayList creix a la meitat de la mida quan s’aconsegueix la seva capacitat. Els mètodes vectorials se sincronitzen. ArrayList no està sincronitzat. Vector utilitza Enumerator i Iterator per recórrer. ArrayList només utilitza Iterator. Les operacions vectorials són més lentes. ArrayList és més ràpid. El vector és segur per a fils, cosa que significa que l’ús de Vector de diversos fils està permès i és segur. ArrayList no és apte per a fils.
Preguntes freqüents
P # 1) Què és un vector a Java?
Resposta: A Java, un vector es pot definir com una matriu d’objectes cultivable. De manera similar a les matrius, també es pot accedir als elements vectorials mitjançant índexs.
Q # 2) El vector està ordenat a Java?
Resposta: Sí. S'ordena un vector i manté l'ordre d'inserció dels elements.
P # 3) El vector és segur per a fils a Java?
Resposta: Sí. A Java, la classe Vector és segura per a fils. Com que la classe Vector està sincronitzada, la fa segura per a fils, és a dir, podeu utilitzar la classe Vector des de diversos fils i és segura.
Q # 4) Per què fem servir el vector a Java?
Resposta: La raó més important per la qual s’utilitza Vector a Java és que un Vector creix i es redueix automàticament. Són dinàmics, per la qual cosa són preferibles a les matrius.
Q # 5) Què és millor: ArrayList o vector?
Resposta: ArrayList en funció del rendiment és més ràpid en comparació amb Vector, ja que Vector es sincronitza i el fa més lent.
Conclusió
En aquest tutorial, vam començar amb l'estructura de dades de Vector a Java. Els vectors són gairebé similars a una matriu en què s’accedeix als elements vectorials mitjançant índexs familiars. Els vectors s’anomenen matriu dinàmica i, a diferència de les matrius, la mida del vector creix i es redueix automàticament.
Els vectors també tenen funcions d’increment i capacitat que es poden utilitzar per crear i reservar emmagatzematge addicional per a futures addicions. Vector és una classe heretada del paquet java.util de Java i està sincronitzada i segura per a fils.
Per tant, hauríem de preferir els vectors quan necessitem una mida dinàmica i també mentre treballem en un entorn multi-threaded.
=> Visiteu aquí la sèrie exclusiva de cursos de formació de Java.
Lectura recomanada
- Tutorial JAVA per a principiants: més de 100 tutorials pràctics de vídeo Java
- Tutorial de reflexió de Java amb exemples
- Interfície Java i tutoria de classes abstractes amb exemples
- Matriu dentada a Java: tutorial amb exemples
- Tutorial de longitud de matriu de Java amb exemples de codi
- Com ordenar una matriu a Java: tutorial amb exemples
- Paraula clau 'aquesta' de Java: tutorial amb exemples de codi
- Modificadors d'accés a Java: tutorial amb exemples