En este artículo vamos a ver cómo podemos implementar buscar en un array con Java. La idea es cargar una serie de elementos, en este caso cadenas de texto, dentro de un array y luego buscar si hay uno de ellos presente dentro de dicho array o en caso contrario si no se encuentra dentro de la lista de elementos de array.
Si estás interesado en tipos de búsquedas en arrays puedes echar un ojo a cómo realizar una búsqueda binaria que es otro tipo de búsqueda mas avanzada, incluso llegar a implementar una búsqueda binaria.
Lo primero será crear un array Java con elementos. En este caso vamos a crear un array de cadenas o String
. La forma de instanciar el array será la siguiente:
String[] nombres = {"Marta","Ana","Luis","Rodrigo","Virginia"};
Los arrays en Java no tienen un método de búsqueda sobre ellos. Si bien las Listas en Java sí que lo tienen. Así que lo que haremos será convertir el array en una lista mediante el método Arrays.asList()
.
Arrays.asList(nombres);
Una vez que tenemos una lista ya podremos utilizar el método .contains()
que nos permitirá realizar la búsqueda del elemento en cuestión.
Arrays.asList(nombres).contains("cadena a buscar");
Lo que vamos a hacer es encapsular este código en un método al cual llamaremos searchList() que reciba un array y la cadena a buscar. Dicho método devuelve un valor booleano, true si el valor se encuentra en el array y false en el caso de no encontrarlo.
private static boolean searchList(String[] strings, String searchString) { return Arrays.asList(strings) .contains(searchString); }
Ya solo nos quedará invocar al método searchList() pasándole el array que hemos creado al principio de nuestro código y el valor que queremos buscar.
if (searchList(nombres,"Fernando")) System.out.println("Valor en la lista"); else System.out.println("Valor no encontrado");
De esta forma ya tendremos implementado nuestro código para poder buscar en un Array con Java.