Entendiendo Java Vector: Uso, Características y Comparación con ArrayList
Entendiendo Java Vector
Esta guía explica la clase Vector de Java, sus métodos clave y cómo se diferencia de ArrayList. Aprende cuándo elegir Vector para seguridad en hilos y consideraciones de rendimiento.
Java Vector vs. ArrayList
Tanto ArrayList como Vector proporcionan arrays dinámicos, pero difieren en el manejo de concurrencia:
- Vector sincroniza cada llamada a método, adquiriendo un bloqueo en la instancia antes de la ejecución.
- ArrayList no está sincronizado por defecto; la seguridad en hilos puede añadirse con
Collections.synchronizedList()si es necesario.
Debido al bloqueo por operación, Vector puede incurrir en sobrecarga en entornos multi-hilo, mientras que ArrayList suele ofrecer mejor rendimiento cuando no se requiere seguridad en hilos.
Consejo: Prefiere ArrayList para la mayoría de aplicaciones. Usa Vector solo cuando el código heredado lo exija o necesites sincronización integrada sin envoltorios adicionales.
Creando un Vector
Puedes instanciar un Vector con un tipo genérico:
Vector<Tipo> vector = new Vector<>();
Ejemplos:
// Vector de enteros
Vector<Integer> numeros = new Vector<>();
// Vector de cadenas
Vector<String> palabras = new Vector<>();
Métodos Clave de Vector
La clase Vector ofrece un conjunto completo de operaciones de lista, reflejando a ArrayList. Algunos métodos comúnmente usados incluyen:
add(E elemento)– añade un elemento al final.add(int indice, E elemento)– inserta en una posición específica.addAll(Collection<? extends E> c)– añade múltiples elementos.get(int indice)– recupera por índice.remove(int indice)– elimina por índice.clear()– elimina todos los elementos.size()– número actual de elementos.contains(Object o)– verifica existencia.toArray()– convierte a array.toString()– representación en cadena.set(int indice, E elemento)– reemplaza en el índice.
Añadiendo Elementos a un Vector
add(elemento)– añade el elemento al final.add(indice, elemento)– inserta en un índice específico.addAll(vector)– añade todos los elementos de otro vector.
Ejemplo:
import java.util.Vector;
class Main {
public static void main(String[] args) {
Vector<String> mamiferos = new Vector<>();
mamiferos.add("Perro");
mamiferos.add("Caballo");
mamiferos.add(2, "Gato");
System.out.println("Vector: " + mamiferos);
Vector<String> animales = new Vector<>();
animales.add("Cocodrilo");
animales.addAll(mamiferos);
System.out.println("Nuevo Vector: " + animales);
}
}
Salida
Vector: [Perro, Caballo, Gato] Nuevo Vector: [Cocodrilo, Perro, Caballo, Gato]
Accediendo a Elementos del Vector
get(indice)– recupera elemento por índice.iterator()– obtiene un iterador para acceso secuencial.
Ejemplo:
import java.util.Iterator;
import java.util.Vector;
class Main {
public static void main(String[] args) {
Vector<String> animales = new Vector<>();
animales.add("Perro");
animales.add("Caballo");
animales.add("Gato");
String elemento = animales.get(2);
System.out.println("Elemento en índice 2: " + elemento);
Iterator<String> iter = animales.iterator();
System.out.print("Vector: ");
while(iter.hasNext()) {
System.out.print(iter.next() + ", ");
}
}
}
Salida
Elemento en índice 2: Gato Vector: Perro, Caballo, Gato,
Eliminando Elementos de un Vector
remove(indice)– elimina el elemento en la posición especificada.clear()– elimina todos los elementos eficientemente.
Ejemplo:
import java.util.Vector;
class Main {
public static void main(String[] args) {
Vector<String> animales = new Vector<>();
animales.add("Perro");
animales.add("Caballo");
animales.add("Gato");
System.out.println("Vector Inicial: " + animales);
String eliminado = animales.remove(1);
System.out.println("Elemento Eliminado: " + eliminado);
System.out.println("Nuevo Vector: " + animales);
animales.clear();
System.out.println("Vector después de clear(): " + animales);
}
}
Salida
Vector Inicial: [Perro, Caballo, Gato] Elemento Eliminado: Caballo Nuevo Vector: [Perro, Gato] Vector después de clear(): []
Métodos Adicionales de Vector
| Método | Descripción |
|---|---|
set(int index, E element) | Reemplaza el elemento en la posición especificada. |
size() | Devuelve el número de elementos. |
toArray() | Convierte el contenido a un array. |
toString() | Representación en cadena del vector. |
contains(Object o) | Verifica si el vector contiene el elemento especificado. |
Java
- Dominar Operadores en Java: Tipos, Sintaxis y Ejemplos Prácticos
- Comentarios en Java: Tipos, Uso y Mejores Prácticas
- Dominar if…else en Java: Control de Flujo Explicado
- Dominar el Bucle for Mejorado en Java: Sintaxis, Ejemplos y Mejores Prácticas
- Dominar Strings en Java: Creación, Métodos y Mejores Prácticas
- Dominando interfaces en Java: Conceptos, implementación y mejores prácticas
- Dominando las clases internas anónimas en Java: Definición, sintaxis y ejemplos prácticos
- Dominando Try‑with‑Resources en Java: Gestión automática de recursos explicada
- Anotaciones en Java explicadas: Tipos, ubicación y ejemplos prácticos
- Aserciones en Java: Guía práctica para detectar bugs y asegurar fiabilidad del código
- Java 8: Guía de Referencia Rápida Completa