Buscar la última posición de elemento en un ArrayList

16/Oct/2021 Java , Deja un comentario
Programación en Java

Ya hemos visto cómo podemos buscar un elemento en un ArrayList. Pero qué sucede si este elemento aparece muchas veces, cómo podemos buscar la última posición de elemento en un ArrayList con Java. ¿Tenemos que ir recorriendo todo el ArrayList hasta que demos con la última ocurrencia?

De primeras podríamos volver a confiar en el método .indexOf() del ArrayList para poder buscar todas las veces que aparece un elemento y dar con la última. Hay que tener en cuenta, que en este caso deberíamos de ir recortando el contenido del ArrayList para poder ir buscando solo sobre la parte restante. Pero en este artículo vamos a ver una opción más sencilla de realizar esta búsqueda.

Lo primero, como siempre hacemos con los ejemplos de ArrayList, es definir el ArrayList y cargarle elementos. El código Java que tenemos que escribir es muy sencillo:

ArrayList<String> list = new ArrayList<String>();

// Añadimos elementos
list.add("Marta");
list.add("Luis");
list.add("Francisco");
list.add("Luis");
list.add("Sonsoles");
list.add("José");

Y ahora definiremos el nombre del elemento del cual queremos saber su última posición. Al haber definido un ArrayList de elementos de tipo String, será una cadena de tipo String la que nos sirva para guardar este elemento.

String sElementoaBuscar = "Luis";

Lo siguiente que vamos a hacer es recurrir al método .lastIndexOf(), este método de la clase ArrayList te devuelve la última posición de un elemento dentro del array o bien un número negativo si no encuentra el elemento dentro del ArrayList.

int posicion = list.lastIndexOf(sElementoaBuscar);

if (posicion >0)
  System.out.println("El último elemento " + sElementoaBuscar + " está en la lista en la posición " + posicion+1);
else
  System.out.println("El elemento " + sElementoaBuscar + " NO está en la lista");

Vemos que después de invocar al método .lastIndexOf() utilizamos una estructura selectiva if-then-else para poder determinar si está dentro o no del array. En caso afirmativo la variable iPosicion contiene la última posición en la que se ha encontrado el elemento dentro del ArrayList.

De esta forma tan sencilla y simplemente utilizando el método .lastIndexOf() podemos buscar la última posición de elemento en un ArrayList con Java.

Vídeos sobre Java


¿Algo que nos quieras comentar?

Déjanos tu comentario, no te preocupes que tu email no será publicado

*

Este sitio usa Akismet para reducir el spam. Aprende cómo se procesan los datos de tus comentarios.