Las matrices estándar en Java se fijan en la cantidad de elementos que pueden tener. Si desea aumentar o disminuir los elementos en una matriz, debe crear una nueva matriz con el número correcto de elementos a partir del contenido de la matriz original. Una alternativa es usar el Lista de arreglo
clase. los Lista de arreglo
La clase proporciona los medios para crear matrices dinámicas (es decir, su longitud puede aumentar y disminuir).
import java.util.ArrayList;
Un Lista de arreglo
se puede crear usando el constructor simple:
ArrayList dynamicArray = new ArrayList ();
Esto creará un Lista de arreglo
con una capacidad inicial para diez elementos. Si es más grande (o más pequeño) Lista de arreglo
se requiere la capacidad inicial se puede pasar al constructor. Para hacer espacio para veinte elementos:
ArrayList dynamicArray = new ArrayList (20);
Use el método add para agregar un valor al Lista de arreglo
:
dynamicArray.add (10); dynamicArray.add (12); dynamicArray.add (20);
Nota: los Lista de arreglo
solo almacena objetos, aunque las líneas anteriores parecen agregar valores int a Lista de arreglo
se cambian automáticamente a Entero
objetos como se adjuntan a la Lista de arreglo
.
Se puede usar una matriz estándar para llenar un Lista de arreglo
convirtiéndola en una colección List usando el método Arrays.asList y agregándola al Lista de arreglo
utilizando la añadir todo
método:
Cadena [] nombres = "Bob", "George", "Henry", "Declan", "Peter", "Steven"; ArrayList dynamicStringArray = new ArrayList (20); dynamicStringArray.addAll (Arrays.asList (nombres));
Una cosa a tener en cuenta Lista de arreglo
es que los elementos no tienen que ser del mismo tipo de objeto. A pesar de dynamicStringArray
ha sido poblado por objetos String, todavía puede aceptar valores numéricos:
dynamicStringArray.add (456);
Para minimizar la posibilidad de errores, es mejor especificar el tipo de objetos que desea que Lista de arreglo
contener. Esto se puede hacer en la etapa de creación mediante el uso de genéricos:
ArrayList dynamicStringArray = new ArrayList (20);