Java: la clase ArrayList

La clase ArrayList extiende AbstractList e implementa la interfaz List. ArrayList admite matrices dinámicas que pueden crecer según sea necesario.

Los arreglos estándar de Java tienen una longitud fija. Una vez creadas las matrices, no pueden crecer ni reducirse, lo que significa que debe saber de antemano cuántos elementos contendrá una matriz.

Las listas de matrices se crean con un tamaño inicial. Cuando se excede este tamaño, la colección se amplía automáticamente. Cuando se eliminan objetos, la matriz puede reducirse.

A continuación se muestra la lista de los constructores proporcionada por la clase ArrayList.

No Señor. Constructor y descripción
1

ArrayList( )

Este constructor crea una lista de matrices vacía.

2

ArrayList(Collection c)

Este constructor crea una lista de matrices que se inicializa con los elementos de la colección. c.

3

ArrayList(int capacity)

Este constructor crea una lista de matrices que tiene la capacidad inicial especificada. La capacidad es el tamaño de la matriz subyacente que se utiliza para almacenar los elementos. La capacidad crece automáticamente a medida que se agregan elementos a una lista de arreglos.

Además de los métodos heredados de sus clases principales, ArrayList define los siguientes métodos:

No Señor. Método y descripción
1

void add(int index, Object element)

Inserta el elemento especificado en el índice de posición especificado en esta lista. Lanza IndexOutOfBoundsException si el índice especificado está fuera de rango (índice <0 || índice> tamaño ()).

2

boolean add(Object o)

Agrega el elemento especificado al final de esta lista.

3

boolean addAll(Collection c)

Agrega todos los elementos de la colección especificada al final de esta lista, en el orden en que son devueltos por el iterador de la colección especificada. Lanza NullPointerException, si la colección especificada es nula.

4

boolean addAll(int index, Collection c)

Inserta todos los elementos de la colección especificada en esta lista, comenzando en la posición especificada. Lanza NullPointerException si la colección especificada es nula.

5

void clear()

Elimina todos los elementos de esta lista.

6

Object clone()

Devuelve una copia superficial de este ArrayList.

7

boolean contains(Object o)

Devuelve verdadero si esta lista contiene el elemento especificado. Más formalmente, devuelve verdadero si y solo si esta lista contiene al menos un elementoe tal que (o == null? e == null: o.equals (e)).

8

void ensureCapacity(int minCapacity)

Aumenta la capacidad de esta instancia de ArrayList, si es necesario, para garantizar que pueda contener al menos el número de elementos especificados por el argumento de capacidad mínima.

9

Object get(int index)

Devuelve el elemento en la posición especificada en esta lista. Lanza IndexOutOfBoundsException si el índice especificado está fuera de rango (índice <0 || índice> = tamaño ()).

10

int indexOf(Object o)

Devuelve el índice en esta lista de la primera aparición del elemento especificado, o -1 si la Lista no contiene este elemento.

11

int lastIndexOf(Object o)

Devuelve el índice en esta lista de la última aparición del elemento especificado, o -1 si la lista no contiene este elemento.

12

Object remove(int index)

Elimina el elemento en la posición especificada en esta lista. Lanza IndexOutOfBoundsException si el índice fuera del rango (índice <0 || índice> = tamaño ()).

13

protected void removeRange(int fromIndex, int toIndex)

Elimina de esta Lista todos los elementos cuyo índice está entre fromIndex, inclusive y toIndex, exclusivo.

14

Object set(int index, Object element)

Reemplaza el elemento en la posición especificada en esta lista con el elemento especificado. Lanza IndexOutOfBoundsException si el índice especificado está fuera de rango (índice <0 || índice> = tamaño ()).

15

int size()

Devuelve el número de elementos de esta lista.

dieciséis

Object[] toArray()

Devuelve una matriz que contiene todos los elementos de esta lista en el orden correcto. Lanza NullPointerException si la matriz especificada es nula.

17

Object[] toArray(Object[] a)

Devuelve una matriz que contiene todos los elementos de esta lista en el orden correcto; el tipo de tiempo de ejecución de la matriz devuelta es el de la matriz especificada.

18

void trimToSize()

Recorta la capacidad de esta instancia de ArrayList para que sea el tamaño actual de la lista.

Ejemplo

El siguiente programa ilustra varios de los métodos admitidos por ArrayList:

import java.util.*;
public class ArrayListDemo {

   public static void main(String args[]) {
      // create an array list
      ArrayList al = new ArrayList();
      System.out.println("Initial size of al: " + al.size());

      // add elements to the array list
      al.add("C");
      al.add("A");
      al.add("E");
      al.add("B");
      al.add("D");
      al.add("F");
      al.add(1, "A2");
      System.out.println("Size of al after additions: " + al.size());

      // display the array list
      System.out.println("Contents of al: " + al);

      // Remove elements from the array list
      al.remove("F");
      al.remove(2);
      System.out.println("Size of al after deletions: " + al.size());
      System.out.println("Contents of al: " + al);
   }
}

Esto producirá el siguiente resultado:

Salida

Initial size of al: 0
Size of al after additions: 7
Contents of al: [C, A2, A, E, B, D, F]
Size of al after deletions: 5
Contents of al: [C, A2, E, B, D]