You are on page 1of 3

CLASE Vector y ArrayList

Java proporciona un grupo de clases que almacenan secuencias de objetos de cualquier tipo: colecciones;
estas se diferencian en la forma de organizar los objetos y, en consecuencia, en la manera de recuperarlos.

CLASE Vector
La clase Vector se encuentra en el paquete java.util y es una de estas colecciones , tiene un
comportamiento similar a un arreglo unidimensional; guarda objetos o referencias de cualquier tipo, crece
dinámicamente, sin necesidad de tener que programar operaciones adicionales; el arreglo donde almacena los
elementos es de tipo Object, y su declaración es:

protected Object elementData[]

A partir de Java 5 se puede establecer el tipo concreto de elemento, el cual siempre debe ser una clase,
que puede guardar una colección, particularmente un vector, para realizar comprobaciones de tipo durante el
proceso de compilación; un vector de cadenas, por ejemplo:

Vector<String> vc= new Vector<String> ();

Creación de un vector

Se utiliza el operador new de igual forma que se crea cualquier objeto; la clase Vector dispone de varios
constructores:

public Vector(); crea un vector vacio

public Vector(int capacidad); crea un vector con una capacidad inicial

public Vector(Colecttion org); crea un vector con los elementos de org.

Un ejemplo:

Vector v1=new Vector ();

Vector v2=new Vector (100);

Vector v3=new Vector (v2); // v3 contiene los mismos elementos que v2

Insertar elementos

Hay diferentes métodos para insertar elementos al vector; los elementos que se insertan deben ser objetos, no
pueden ser datos de tipos primitivos como int, char, etc.

Métodos de la clase para insertar:

boolean add (Object ob); añade el objeto después del último elemento del vector

void addElement(Object ob); añade el objeto después del último elemento del vector

void insertElement(Object ob, int p); inserta el objeto en la posicion p, los elementos
posteriores a p se desplazan.
Debe considerarse que cuando se crea el vector con un tipo concreto, el elemento que se inserta ha de ser de
ese tipo, o uno derivado, por ejemplo:

Vector<String> vc=new Vector<String>();

vc.add(“jueves”),

vc.addElement (new integer (12)); //error de tipo

Acceso a un elemento

Se accede a un elemento del vector por la posición que ocupa; los métodos de acceso devuelven el elemento
con el tipo Object, entonces puede ser necesario realizar una conversión al tipo del objeto.

Object elementAt(int p); devuelve el elemento cuya posición es p

Object get (int p); devuelve el elemento cuya posición es p

int size(); devuelve el número de elementos

Eliminar un elemento

Un vector es una estructura dinámica , crece o decrece si se añaden o eliminan objetos; un elemento se puede
eliminar de diversas formas, una de ellas es por posición que ocupa en el índice, a partir de esa posición el
resto de elementos del vector se mueven una posición a la izquierda disminuyendo el número de elementos;
otra forma de transmitir el objeto que se desea retirar del vector; también hay métodos de la clase para
eliminar todos los elementos de una colección.

void removeElementAt(int indice); elimina elemento indicie y el resto se reenumera

boolean removeElement (Object op); elimina la primera aparición de op, devuelve true si realiza la
eliminación

void removeAll(Collection gr); elimina los elementos que están en gr.

void removeAllElements(); elimina todos los elementos

Búsqueda

Los diversos métodos de búsqueda de Vector devuelven la posición de la primera ocurrencia del objeto
buscado, o bien verdadero-falso según el resultado de la búsqueda.

boolean contains (Object op); devuelve true si encuentra op

int indexOf(Object op); devuelve la primera posición de op, -1 si no existe

En la clase VectorNumero.java se utiliza un Vector para guardar números racionales, la clase


Racional agrupa las características de todo número racional: numerador y denominador; en dicha clase el
método mostrar() escribe en pantalla el numero racional, la clase principal crea un vector al cual se
añaden números racionales; a continuación se recuperan los elementos y se escriben.
Clase ArrayList
Esta clase agrupa elementos como un arreglo, es equivalente a Vector, pero con las mejoras introducidas
por Java 2; permite acceder a cualquier elemento, insertar o borrar a partir del índice en cualquier posición,
aunque un tanto ineficiente si se realiza en posiciones intermedias. A partir de Java 5 es una clase genérica y,
por consiguiente, se puede establecer el tipo concreto de los elementos; esta clase tiene tres constructores:

public ArrayList();

public ArrayList(int capacidad);

public ArrayList(Collection c);

Por ejemplo, se crea una colección con los elementos de un vector;

ArrayList al = new ArrayList(100);

A continuación, se crea una colección de elementos tipo Estudiante:

ArrayList<Estudiante> al = new ArrayList<estudiante>();

En la clase ListaArreglo.java se realizan las operaciones de añadir, eliminar, buscar y reemplazar


cadenas con ArrayList.

La colección está formada por cadenas leídas del teclado; la declaración va a especificar que la colección
contiene elementos String. Una vez formada la colección se elimina una cadena concreta y se reemplaza
el elemento que ocupa la posición central; para realizar una búsqueda, se utiliza el método indexOf() que
devuelve la posición que ocupa, o bien -1, a partir de esta posición se crea un iterador llamando al método
listIterator() con el fin de recorrer y, a la vez, escribir los elementos.