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 Vector
clase es una implementación de la List
interfaz que nos permite crear matrices redimensionables similares a la clase ArrayList.
Java Vector frente a ArrayList
En Java, ambos ArrayList
y Vector
aperos de la List
interfaz y proporciona las mismas funcionalidades. Sin embargo, existen algunas diferencias entre ellos.
La Vector
clase sincroniza cada operación individual. Esto significa que cada vez que queremos realizar alguna operación en vectores, la Vector
clase 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, ConcurrentModificationException
se 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 ArrayList
en lugar de Vector
porque 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 Vector
clase también proporciona las implementaciones de matriz redimensionable de la List
interfaz (similar a la ArrayList
clase). Algunos de los Vector
mé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 |