Recorrer la matriz (array) en busca de un elemento
En este paso, aprenderás cómo verificar si un elemento específico existe dentro de una matriz (array) de Java recorriéndola utilizando un bucle for tradicional. Esta es una técnica fundamental para buscar dentro de colecciones de datos.
Primero, creemos un nuevo archivo Java llamado ArraySearch.java en tu directorio ~/project. Puedes hacer esto utilizando el explorador de archivos de WebIDE en el lado izquierdo o ejecutando el siguiente comando en la terminal:
touch ~/project/ArraySearch.java
Ahora, abre el archivo ArraySearch.java en el editor de WebIDE y agrega el siguiente código Java:
public class ArraySearch {
public static void main(String[] args) {
// Define an array of strings
String[] fruits = {"Apple", "Banana", "Cherry", "Date", "Elderberry"};
// The element we want to search for
String searchElement = "Cherry";
// Variable to keep track if the element is found
boolean found = false;
// Loop through the array
for (int i = 0; i < fruits.length; i++) {
// Check if the current element is equal to the search element
if (fruits[i].equals(searchElement)) {
found = true; // Element found
break; // Exit the loop since we found the element
}
}
// Print the result
if (found) {
System.out.println(searchElement + " was found in the array.");
} else {
System.out.println(searchElement + " was not found in the array.");
}
}
}
Desglosemos este código:
String[] fruits = {"Apple", "Banana", "Cherry", "Date", "Elderberry"};: Esta línea declara e inicializa una matriz (array) de cadenas llamada fruits con varios nombres de frutas.
String searchElement = "Cherry";: Esta línea declara una variable de tipo cadena searchElement y le asigna el valor "Cherry". Este es el elemento que estamos buscando en la matriz.
boolean found = false;: Esta línea declara una variable booleana found y la inicializa en false. Estableceremos esto en true si encontramos el searchElement en la matriz.
for (int i = 0; i < fruits.length; i++): Este es un bucle for estándar que recorre la matriz. i comienza en 0 y aumenta hasta (pero sin incluir) la longitud de la matriz fruits.
if (fruits[i].equals(searchElement)): Dentro del bucle, esta instrucción if verifica si el elemento actual de la matriz (fruits[i]) es igual al searchElement. Usamos el método .equals() para comparar cadenas en Java, no el operador ==.
found = true;: Si los elementos son iguales, establecemos la variable found en true.
break;: Una vez que se encuentra el elemento, usamos la instrucción break para salir del bucle antes, ya que no es necesario seguir buscando.
- El bloque
if/else final imprime un mensaje que indica si se encontró el searchElement según el valor de la variable found.
Guarda el archivo ArraySearch.java (Ctrl+S o Cmd+S).
Ahora, compilaremos y ejecutaremos el programa en la terminal. Asegúrate de estar en el directorio ~/project.
Compila el código:
javac ArraySearch.java
Si no hay errores, se creará un archivo ArraySearch.class.
Ejecuta el código compilado:
java ArraySearch
Deberías ver la siguiente salida:
Cherry was found in the array.
Ahora, intenta cambiar el searchElement a algo que no esté en la matriz, como "Grape", guarda el archivo, vuelve a compilar y ejecútalo de nuevo para ver la salida diferente.