gerard = odrarg

En nuestro mundo, sea lo que sea lo que la mente humana pueda crear puede ser reproducido y distribuido infinitamente sin ningun costo.

Consejo para combinar Array y ArrayList en Java

By odrarg

Los Array son caracteristicas propias del lenguaje java, la sintaxis puede ser de la siguiente manera:

int[] a = new int[100];

Sin embargo , los ArrayList es una clase de biblioteca, definida en el paquete java.util. Es un tipo "en un tamaño encaja todo" que alberga elementos de tipo Object. Por tanto, tendrá que realizar un moldeado siempre que quiera extraer un elemento de un array de listas.

Una ventaja muy importante es que los ArrayList permite la expansión y reducción de los mismos, algo que con los array no se puede.

ArrayList()
Construye un array de listas vacío

ArrayList(int capacidadInicial)
Construye un array de listas vacío con la capacidad especificada

Boolean add(Object obj)
Anade un elemento al final del array de listas

Int size
Devuelve un número de elementos almacenados actualmente en el array de listas

void ensureCapacity(int capacidad)
Garantiza que el array de listas tiene la capacidad de almacenar el número de elementos indicados sin necesidad de reubicar el array de almacenamiento interno

void trimTosize()
Reduce la capacidad de almacenamiento del array de listas para ajustarlo a su tamaño real

void set(int posicion, Object obj)
Coloca en valor en el array de listas en la posicion especificada, sobreescribiendo además el contenido previo de dicha posición.

Object get
Recupera el valor almacenado en una posicion correcta

Combinacion de Array y ArrayList

En ocasiones, se puede obtener lo mejor de ambos mundos (crecimiento flexible y acceso sencillo a los elementos) con el siguiente truco. Primero, construya un array de listas y añada los elmentos:

ArrayList list = new ArrayList();
while (....){
x = ....;
list.add(x);
}

Una vez concluido el proceso, use el método toArray para copiar los elementos a un array:

X[] a = new X[list.size()];
list.toArray(a);

Fuente: Java 2 Fundamentos, Cay S. Horstmann / Gary Cornell