Vamos a ver que es una lista en Java y como usar la clase ArrayList.
Hasta ahora hemos utilizado Arrays, las cuales están limitadas por un tamaño específico. ¿Que usamos si no sabemos de antemano el tamaño de nuestra Array?
ArrayList
Una ArrayList es una clase que se encarga de manejar una Array por debajo sin un tamaño establecido. Esta necesita ser instanciada como un objeto, y pedirá un argumento de tipo.
Se necesita importar
import java.util.ArrayList;para declarar unaArrayList.
Vamos a tomar el mismo ejemplo que hemos usado para las Arrays, una lista de la compra:
ArrayList<String> listaDeLaCompra = new ArrayList<>();Cuando instanciemos una ArrayList, empezará vacía. Tiene diferentes métodos para poder realizar operaciones con nuestra lista. Vamos a ver unos cuantos:
add
Para añadir elementos a nuestra lista usaremos el método add(elemento) para añadirlo al final de la lista, o add(índice, elemento) para añadirlo en una posición exacta.
// listaDeLaCompra es []
listaDeLaCompra.add("Tomates");
// listaDeLaCompra es ["Tomates"]
listaDeLaCompra.add("Patatas");
// listaDeLaCompra es ["Tomates", "Patatas"]
listaDeLaCompra.add(0, "Carne");
// listaDeLaCompra es ["Carne", "Tomates", "Patatas"]size
Para saber la longitud de nuestra lista, usaremos el método size().
int logitudCompra = listaDeLaCompra.size(); // longitudCompra será 3contains
Para saber si nuestra lista contiene un elemento específico dentro usaremos el método contains(elemento)
boolean comprarPatatas = listaDeLaCompra.contains("Patatas"); // comprarPatatas será true
boolean comprarPerscado = listaDeLaCompra.contains("Pescado"); // comprarPerscado será falseindexOf
El método indexOf(elemento) nos permite obtener la posición de la primera aparición de un elemento en la lista. Si el elemento no se encuentra, se devuelve -1.
int indicePatatas = listaDeLaCompra.indexOf("Patatas"); // indicePatatas será 1
int indiceLeche = listaDeLaCompra.indexOf("Leche"); // indiceLeche será -1remove
Para eliminar un elemento de la lista, podemos usar el método remove(elemento) o remove(índice).
listaDeLaCompra.remove("Patatas"); // listaDeLaCompra será ["Carne", "Tomates"]
listaDeLaCompra.remove(0); // listaDeLaCompra será ["Tomates"]clear
El método clear() elimina todos los elementos de la lista, dejándola vacía.
listaDeLaCompra.clear(); // listaDeLaCompra estará vacía