Vector de Java (con ejemplos)

En este tutorial, aprenderemos sobre la clase Vector y cómo usarla. También aprenderemos en qué se diferencia de la clase ArrayList y por qué deberíamos usar listas de matrices en su lugar.

La Vectorclase es una implementación de la Listinterfaz que nos permite crear matrices redimensionables similares a la clase ArrayList.

Java Vector frente a ArrayList

En Java, ambos ArrayListy Vectoraperos de la Listinterfaz y proporciona las mismas funcionalidades. Sin embargo, existen algunas diferencias entre ellos.

La Vectorclase sincroniza cada operación individual. Esto significa que cada vez que queremos realizar alguna operación en vectores, la Vectorclase aplica automáticamente un bloqueo a esa operación.

Es porque cuando un hilo está accediendo a un vector y al mismo tiempo otro hilo intenta acceder a él, ConcurrentModificationExceptionse genera una excepción llamada . Por lo tanto, este uso continuo de bloqueo para cada operación hace que los vectores sean menos eficientes.

Sin embargo, en las listas de matrices, los métodos no están sincronizados. En su lugar, utiliza el Collections.synchronizedList()método que sincroniza la lista como un todo.

Nota: Se recomienda usar ArrayListen lugar de Vectorporque los vectores no son seguros para subprocesos y son menos eficientes.

Crear un vector

Así es como podemos crear vectores en Java.

 Vector vector = new Vector(); 

Aquí, Tipo indica el tipo de lista vinculada. Por ejemplo,

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

Métodos de Vector

La Vectorclase también proporciona las implementaciones de matriz redimensionable de la Listinterfaz (similar a la ArrayListclase). Algunos de los Vectormétodos son:

Agregar elementos al vector

  • add(element) - agrega un elemento a los vectores
  • add(index, element) - agrega un elemento a la posición especificada
  • addAll(vector) - agrega todos los elementos de un vector a otro vector

Por ejemplo,

 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); ) ) 

Salida

 Vector: (perro, caballo, gato) Nuevo vector: (cocodrilo, perro, caballo, gato) 

Acceso a elementos vectoriales

  • get(index) - devuelve un elemento especificado por el índice
  • iterator() - devuelve un objeto iterador para acceder secuencialmente a elementos vectoriales

Por ejemplo,

 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(", "); ) ) ) 

Salida

 Elemento en el índice 2: Vector de gato: perro, caballo, gato, 

Eliminar elementos vectoriales

  • remove(index) - elimina un elemento de la posición especificada
  • removeAll() - elimina todos los elementos
  • clear()- elimina todos los elementos. Es más eficiente queremoveAll()

Por ejemplo,

 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); ) ) 

Salida

 Vector inicial: (Perro, Caballo, Gato) Elemento eliminado: Caballo Nuevo vector: (Perro, Gato) Vector después de borrar (): () 

Otros métodos vectoriales

Métodos Descripciones
set() cambia un elemento del vector
size() devuelve el tamaño del vector
toArray() convierte el vector en una matriz
toString() convierte el vector en una cadena
contains() busca el vector para el elemento especificado y devuelve un resultado booleano

Articulos interesantes...