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.