Vamos a ver que es una lista en Java y como usar la clase ArrayList.
Hasta ahora hemos utilizado Array
s, 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 Array
s, 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á 3
contains
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á false
indexOf
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á -1
remove
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