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 vectoresadd(index, element)- agrega un elemento a la posición especificadaaddAll(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 índiceiterator()- 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 especificadaremoveAll()- elimina todos los elementosclear()- 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 |








