Java Vector
Vectores Java
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 arreglos en su lugar.
El Vector
la clase es una implementación del List
interfaz que nos permite crear matrices redimensionables similares a la clase ArrayList.
Java Vector vs. ArrayList
En Java, ambos ArrayList
y Vector
implementa el List
interfaz y proporciona las mismas funcionalidades. Sin embargo, existen algunas diferencias entre ellos.
El Vector
La clase sincroniza cada operación individual. Esto significa que siempre que queramos realizar alguna operación en vectores, el Vector
class 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, una excepción llamada ConcurrentModificationException
es generado. 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 arreglos, los métodos no están sincronizados. En su lugar, utiliza el Collections.synchronizedList()
método que sincroniza la lista como un todo.
ArrayList
en lugar de Vector
porque los vectores no son seguros para subprocesos y son menos eficientes.
Creación de un vector
Así es como podemos crear vectores en Java.
Vector<Type> vector = new Vector<>();
Aquí, Escriba indica el tipo de una lista enlazada. Por ejemplo,
// create Integer type linked list
Vector<Integer> vector= new Vector<>();
// create String type linked list
Vector<String> vector= new Vector<>();
Métodos de Vector
El Vector
class también proporciona las implementaciones de matriz redimensionable del List
interfaz (similar al ArrayList
clase). Algunos de los Vector
los métodos son:
Añadir 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<String> 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<String> animals = new Vector<>();
animals.add("Crocodile");
animals.addAll(mammals);
System.out.println("New Vector: " + animals);
}
}
Salida
Vector: [Dog, Horse, Cat] New Vector: [Crocodile, Dog, Horse, Cat]
Acceder 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<String> 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<String> iterate = animals.iterator();
System.out.print("Vector: ");
while(iterate.hasNext()) {
System.out.print(iterate.next());
System.out.print(", ");
}
}
}
Salida
Element at index 2: Cat Vector: Dog, Horse, Cat,
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<String> 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
Initial Vector: [Dog, Horse, Cat] Removed Element: Horse New Vector: [Dog, Cat] Vector after clear(): []
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 |
Java