Buscar en un Array

29/Mar/2020 Java 5 Comentarios
Programación en Java

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.

Vídeos sobre Java


5 comentarios en “Buscar en un Array”

Víctor Cuervo

oscar

Hola,tengo una duda
Como logro hacer un cambio de nombre en un matriz que es llenada por usuario ,
Lunes Martes Miercoles Jueves
10:00 a 12:00 Vacio OSCAR Vacio Vacio
12:00 a 14:00 Vacio Vacio Vacio Vacio
14:00 a 16:00 Vacio Vacio Vacio Vacio
16:00 a 18:00 Vacio Vacio Vacio Vacio
suponiendoi que quisiera cambiar oscar por karla como podria hacerlo con el array.list o tendria que usar algun otro metodo
espero me pueda ayudar.
Saludos.

Víctor Cuervo

Diego Solano

Muchas gracias compadre, salvaste una vida, muy buena explicación.

Víctor Cuervo

Víctor Cuervo

Nos alegra mucho leer tu mensaje. Y sobre todo que te haya servido. Mensajes como este nos animan a seguir publicando contenido.

Saludos.

Víctor Cuervo

Víctor Cuervo

Buenas,

Si quieres hacer eso yo lo enfocaría de la siguiente manera.

1. Crearte una lista de palabras malsonantes
2. Luego defines el texto
3. Recorrer la lista de palabras malsonantes y vas ejeuctando un .ReplaceAll en el texto. http://lineadecodigo.com/java/string-reemplazar-cadenas-con-java/

Espero que esto te ayude a orientar un poco el problema.

Saludos.

Víctor Cuervo

JavaProblema

Hola, tengo una pregunta

Como podria hacer un programa donde pido al usuario que introduzca una frase, y si esa frase contiene palabras malsonantes (ej: caca, pis, pedo) las censure con asteriscos una vez introducida en una nueva frase?

Tengo muchas dudas de como podria hacerlo.

Gracias

¿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.