Cuando utilizamos listas de elementos en Java puede ser de mucha utilidad el poder buscar elementos en un ArrayList en Java. La idea es poder comprobar si dentro de la lista existe un determinado elemento o no y si es posible saber en qué posición se encuentra.
Hay que recordar que las listas
ArrayList
pueden contener un mismo elemento las veces que queramos, a diferencia de los conjuntos oSet
dónde solo puede existir una única vez la clave del elemento.
Lo primero que haremos será crear un ArrayList en Java y cargarlo de elementos para poder hacer las búsqueda posteriormente.
ArrayList<String> list = new ArrayList<String>(); // Añadimos elementos list.add("Marta"); list.add("Luis"); list.add("Francisco");
Cómo hemos creado un ArrayList
de tipo String
vamos a indicar cuál sería la cadena que queremos buscar. En este caso la cadena a buscar la definiremos de la siguiente forma:
String sElementoaBuscar = "Luis";
Para poder realizar la búsqueda de este elemento dentro del ArrayList
vamos a utilizar el método .indexOf()
. El método .indexOf()
recibe como parámetro el elemento que queremos buscar en la lista. En el caso que el elemento se encuentre dentro de la lista se devolverá un entero con la posición en la que se encuentra. En el caso de que no lo encuentre dentro de la lista devolverá un número negativo.
Es por ello que nos guardaremos el resultado de la búsqueda:
int posicion = list.indexOf(sElementoaBuscar);
Y realizaremos la comprobación pertinente para saber si está o no en la lista:
if (posicion >= 0) System.out.println("El elemento " + sElementoaBuscar + " está en la lista. En la posición " + posicion); else System.out.println("El elemento " + sElementoaBuscar + " NO está en la lista");
De esta manera podemos utilizar el método .indexOf()
para poder buscar elementos en un ArrayList de Java de una forma muy sencilla. ¿Cómo podrías buscar todas las ocurrencias que apareciesen en el ArrayList
de un elemento con código Java?