Clase Java Vector

La clase Vector implementa un array dinámico. Es muy similar a ArrayList, pero son diferentes:

CaracterísticasVectorArrayList
SincronizaciónSincronizado (seguro para hilos)No sincronizado
RendimientoMás lentoMás rápido
Incremento de expansiónEspecificableFijo (50%)
Iteradorfail-fastfail-fast
Versión de introducciónJava 1.0Java 1.2

Características:

  1. Sincronizado: Vector es seguro para hilos, todos sus métodos están sincronizados.

  2. Expansión dinámica: Crece automáticamente cuando el número de elementos supera la capacidad actual.

  3. Clase legacy: Aunque todavía está disponible, generalmente se recomienda usar ArrayList.

  4. Implementa la interfaz RandomAccess: Admite acceso aleatorio rápido.

Vector se utiliza principalmente cuando no se sabe de antemano el tamaño del array, o simplemente se necesita un array que pueda cambiar de tamaño.

La clase Vector admite 4 constructores.

El primer constructor crea un vector por defecto, con tamaño por defecto 10:

Vector()

El segundo constructor crea un vector de tamaño especificado.

Vector(int size)

El tercer constructor crea un vector de tamaño especificado, y el incremento se especifica con incr. El incremento indica el número de elementos que aumenta el vector cada vez.

Vector(int size,int incr)

El cuarto constructor crea un vector que contiene los elementos de la colección c:

Vector(Collection c)

Además de los métodos heredados de la clase padre, Vector también define los siguientes métodos:

Operaciones comunes

Ejemplo

// Agregar elementos
boolean add(E e) // Agregar elemento al final
void add(int index, E element) // Insertar elemento en la posición especificada
boolean addAll(Collection<? extends E> c) // Agregar todos los elementos de la colección

// Obtener elemento
E get(int index) // Obtener el elemento en la posición especificada
E firstElement() // Obtener el primer elemento
E lastElement() // Obtener el último elemento

// Eliminar elemento
E remove(int index) // Eliminar y devolver el elemento de la posición especificada
boolean remove(Object o) // Eliminar la primera aparición del elemento especificado
void clear() // Eliminar todos los elementos

// Otras operaciones
int size() // Devuelve el número de elementos
int capacity() // Devuelve la capacidad actual
void ensureCapacity(int minCapacity) // Asegura que tenga al menos la capacidad mínima
void trimToSize() // Ajusta la capacidad al tamaño actual
boolean contains(Object o) // Verifica si contiene el elemento especificado
int indexOf(Object o) // Devuelve el índice de la primera aparición del elemento
N.º Descripción del método
1 void add(int index, Object element)
Inserta el elemento especificado en la posición especificada de este vector.
2 boolean add(Object o) 
Agrega el elemento especificado al final de este vector.
3 boolean addAll(Collection c) 
Agrega todos los elementos de la Collection especificada al final de este vector, en el orden en que los devuelve el iterador de la collection especificada.
4 boolean addAll(int index, Collection c) 
Inserta todos los elementos de la Collection especificada en este vector en la posición especificada.
5 void addElement(Object obj) 
Agrega el componente especificado al final de este vector, aumentando su tamaño en 1.
6 int capacity() 
Devuelve la capacidad actual de este vector.
7 void clear() 
Elimina todos los elementos de este vector.
8 Object clone() 
Devuelve una copia de este vector.
9 boolean contains(Object elem) 
Devuelve true si este vector contiene el elemento especificado.
10 boolean containsAll(Collection c) 
Devuelve true si este vector contiene todos los elementos de la Collection especificada.
11 void copyInto(Object[] anArray) 
Copia los componentes de este vector en el array especificado.
12 Object elementAt(int index) 
Devuelve el componente en el índice especificado.
13 Enumeration elements() 
Devuelve una enumeración de los componentes de este vector.
14 void ensureCapacity(int minCapacity) 
Aumenta la capacidad de este vector (si es necesario) para asegurar que pueda contener al menos el número de componentes especificado por el parámetro de capacidad mínima.
15 boolean equals(Object o) 
Compara la igualdad entre el objeto especificado y este vector.
16 Object firstElement() 
Devuelve el primer componente de este vector (el elemento en el índice 0).
17 Object get(int index) 
Devuelve el elemento en la posición especificada de este vector.
18 int hashCode() 
Devuelve el valor de código hash de este vector.
19 int indexOf(Object elem) 
Devuelve el índice de la primera aparición del elemento especificado en este vector; si este vector no contiene el elemento, devuelve -1.
20 int indexOf(Object elem, int index) 
Devuelve el índice de la primera aparición del elemento especificado en este vector, buscando hacia adelante desde index; si no se encuentra el elemento, devuelve -1.
21 void insertElementAt(Object obj, int index) 
Inserta el objeto especificado como componente de este vector en el índice especificado.
22 boolean isEmpty() 
Comprueba si este vector no contiene componentes.
23 Object lastElement() 
Devuelve el último componente de este vector.
24 int lastIndexOf(Object elem) 
Devuelve el índice de la última aparición del elemento especificado en este vector; si este vector no contiene el elemento, devuelve -1.
25 int lastIndexOf(Object elem, int index) 
Devuelve el índice de la última aparición del elemento especificado en este vector, buscando hacia atrás desde index; si no se encuentra el elemento, devuelve -1.
26 Object remove(int index) 
Elimina el elemento en la posición especificada de este vector.
27 boolean remove(Object o) 
Elimina la primera coincidencia del elemento especificado en este vector; si el vector no contiene el elemento, el elemento permanece sin cambios.
28 boolean removeAll(Collection c) 
Elimina de este vector todos los elementos contenidos en la Collection especificada.
29 void removeAllElements() 
Elimina todos los componentes de este vector y establece su tamaño a cero.
30 boolean removeElement(Object obj) 
Elimina de este vector la primera coincidencia (la de índice más pequeño) del argumento.
31 void removeElementAt(int index) 
Elimina el componente en el índice especificado.
32 protected void removeRange(int fromIndex, int toIndex)
Elimina de esta List todos los elementos cuyo índice esté entre fromIndex (inclusive) y toIndex (exclusivo).
33 boolean retainAll(Collection c) 
Conserva solo los elementos de este vector que están contenidos en la Collection especificada.
34 Object set(int index, Object element)
Reemplaza el elemento en la posición especificada de este vector con el elemento especificado.
35 void setElementAt(Object obj, int index) 
Establece el componente en el índice especificado de este vector como el objeto especificado.
36 void setSize(int newSize) 
Establece el tamaño de este vector.
37 int size() 
Devuelve el número de componentes de este vector.
38 List subList(int fromIndex, int toIndex) 
Devuelve una vista parcial de esta List, con un rango de elementos desde fromIndex (inclusive) hasta toIndex (exclusivo).
39 Object[] toArray()
Devuelve un array que contiene todos los elementos de este vector en el orden adecuado.
40 Object[] toArray(Object[] a) 
Devuelve un array que contiene todos los elementos de este vector en el orden adecuado; el tipo de runtime del array devuelto es el del array especificado.
41 String toString() 
Devuelve una representación en cadena de este vector, que contiene la representación String de cada elemento.
42 void trimToSize() 
Ajusta la capacidad de este vector para que sea igual al tamaño actual del vector.

Ejemplo

El siguiente programa demuestra varios métodos admitidos por esta colección:

Ejemplo

import java.util.*;

public class VectorDemo {

   public static void main(String args[]) {
      // initial size is 3, increment is 2
      Vector v = new Vector(3, 2);
      System.out.println("Initial size: " + v.size());
      System.out.println("Initial capacity: " +
      v.capacity());
      v.addElement(new Integer(1));
      v.addElement(new Integer(2));
      v.addElement(new Integer(3));
      v.addElement(new Integer(4));
      System.out.println("Capacity after four additions: " +
          v.capacity());

      v.addElement(new Double(5.45));
      System.out.println("Current capacity: " +
      v.capacity());
      v.addElement(new Double(6.08));
      v.addElement(new Integer(7));
      System.out.println("Current capacity: " +
      v.capacity());
      v.addElement(new Float(9.4));
      v.addElement(new Integer(10));
      System.out.println("Current capacity: " +
      v.capacity());
      v.addElement(new Integer(11));
      v.addElement(new Integer(12));
      System.out.println("First element: " +
         (Integer)v.firstElement());
      System.out.println("Last element: " +
         (Integer)v.lastElement());
      if(v.contains(new Integer(3)))
         System.out.println("Vector contains 3.");
      // enumerate the elements in the vector.
      Enumeration vEnum = v.elements();
      System.out.println("\nElements in vector:");
      while(vEnum.hasMoreElements())
         System.out.print(vEnum.nextElement() + " ");
      System.out.println();
   }
}

El resultado de compilar y ejecutar el ejemplo anterior es el siguiente:

Initial size: 0
Initial capacity: 3
Capacity after four additions: 5
Current capacity: 5
Current capacity: 7
Current capacity: 9
First element: 1
Last element: 12
Vector contains 3.

Elements in vector:
1 2 3 4 5.45 6.08 7 9.4 10 11 12

Java 数据结构Estructuras de datos en Java

Otras extensiones