Java Vector (con esempi)

In questo tutorial, impareremo la classe Vector e come usarla. Impareremo anche in che modo è diverso dalla classe ArrayList e perché dovremmo usare invece elenchi di array.

La Vectorclasse è un'implementazione Listdell'interfaccia che ci consente di creare array ridimensionabili simili alla classe ArrayList.

Java Vector vs ArrayList

In Java, sia ArrayListe Vectorimplementa l' Listinterfaccia e fornisce le stesse funzionalità. Tuttavia, esistono alcune differenze tra di loro.

La Vectorclasse sincronizza ogni singola operazione. Ciò significa che ogni volta che vogliamo eseguire qualche operazione sui vettori, la Vectorclasse applica automaticamente un blocco a tale operazione.

È perché quando un thread accede a un vettore e allo stesso tempo un altro thread tenta di accedervi, ConcurrentModificationExceptionviene generata un'eccezione chiamata . Quindi, questo uso continuo del blocco per ogni operazione rende i vettori meno efficienti.

Tuttavia, negli elenchi di array, i metodi non sono sincronizzati. Invece, utilizza il Collections.synchronizedList()metodo che sincronizza l'elenco nel suo insieme.

Nota: si consiglia di utilizzare ArrayListal posto di Vectorperché i vettori non sono sicuri per i thread e sono meno efficienti.

Creazione di un vettore

Ecco come possiamo creare vettori in Java.

 Vector vector = new Vector(); 

Qui, Tipo indica il tipo di un elenco collegato. Per esempio,

 // create Integer type linked list Vector vector= new Vector(); // create String type linked list Vector vector= new Vector(); 

Metodi di vettore

La Vectorclasse fornisce anche le implementazioni di array ridimensionabili Listdell'interfaccia (simili alla ArrayListclasse). Alcuni dei Vectormetodi sono:

Aggiungi elementi al vettore

  • add(element) - aggiunge un elemento ai vettori
  • add(index, element) - aggiunge un elemento alla posizione specificata
  • addAll(vector) - aggiunge tutti gli elementi di un vettore a un altro vettore

Per esempio,

 import java.util.Vector; class Main ( public static void main(String() args) ( Vector mammals= new Vector(); // Using the add() method mammals.add("Dog"); mammals.add("Horse"); // Using index number mammals.add(2, "Cat"); System.out.println("Vector: " + mammals); // Using addAll() Vector animals = new Vector(); animals.add("Crocodile"); animals.addAll(mammals); System.out.println("New Vector: " + animals); ) ) 

Produzione

 Vettore: (Cane, Cavallo, Gatto) Nuovo vettore: (Coccodrillo, Cane, Cavallo, Gatto) 

Accedi agli elementi vettoriali

  • get(index) - restituisce un elemento specificato dall'indice
  • iterator() - restituisce un oggetto iteratore per accedere in modo sequenziale agli elementi vettoriali

Per esempio,

 import java.util.Iterator; import java.util.Vector; class Main ( public static void main(String() args) ( Vector animals= new Vector(); animals.add("Dog"); animals.add("Horse"); animals.add("Cat"); // Using get() String element = animals.get(2); System.out.println("Element at index 2: " + element); // Using iterator() Iterator iterate = animals.iterator(); System.out.print("Vector: "); while(iterate.hasNext()) ( System.out.print(iterate.next()); System.out.print(", "); ) ) ) 

Produzione

 Elemento all'indice 2: Vettore gatto: cane, cavallo, gatto, 

Rimuovi elementi vettoriali

  • remove(index) - rimuove un elemento dalla posizione specificata
  • removeAll() - rimuove tutti gli elementi
  • clear()- rimuove tutti gli elementi. È più efficiente diremoveAll()

Per esempio,

 import java.util.Vector; class Main ( public static void main(String() args) ( Vector animals= new Vector(); animals.add("Dog"); animals.add("Horse"); animals.add("Cat"); System.out.println("Initial Vector: " + animals); // Using remove() String element = animals.remove(1); System.out.println("Removed Element: " + element); System.out.println("New Vector: " + animals); // Using clear() animals.clear(); System.out.println("Vector after clear(): " + animals); ) ) 

Produzione

 Vettore iniziale: (Cane, Cavallo, Gatto) Elemento rimosso: Cavallo Nuovo vettore: (Cane, Gatto) Vettore dopo la cancellazione (): () 

Altri metodi vettoriali

Metodi Descrizioni
set() cambia un elemento del vettore
size() restituisce la dimensione del vettore
toArray() converte il vettore in un array
toString() converte il vettore in una stringa
contains() cerca nel vettore l'elemento specificato e restituisce un risultato booleano

Articoli interessanti...