English | 简体中文 | 繁體中文 | Русский язык | Français | Español | Português | Deutsch | 日本語 | 한국어 | Italiano | بالعربية
En este programa, aprenderás a verificar si un array contiene un valor dado en Java.
public class Contains { public static void main(String[] args) { int[] num = {1, 2, 3, 4, 5}; int toFind = 3; boolean found = false; for (int n : num) { if (n == toFind) { found = true; break; } } if(found) System.out.println(toFind + "Encontrado"); else System.out.println(toFind + "No encontrado"); } }
Al ejecutar el programa, la salida es:
3 Encontrado
En el programa anterior, tenemos un array de enteros almacenado en la variable num. Del mismo modo, el número a buscar se almacena en toFind
Ahora, utilizamos un bucle foreach para recorrer todos los elementos del array num y verificar si toFind es igual a n
Si es así, estableceremos find en true y saldremos del bucle. Si no, pasaremos a la siguiente iteración
import java.util.stream.IntStream; public class Contains { public static void main(String[] args) { int[] num = {1, 2, 3, 4, 5}; int toFind = 7; boolean found = IntStream.of(num).anyMatch(n -> n == toFind); if(found) System.out.println(toFind + "Encontrado"); else System.out.println(toFind + "No encontrado"); } }
Al ejecutar el programa, la salida es:
7 No se encontró
En el programa anterior, no utilizamos el bucle foreach, sino que convertimos el array en IntStream y utilizamos su método anyMatch()
El método anyMatch() toma un predicado, una expresión o una función que devuelve un valor booleano. En nuestro ejemplo, el predicado compara cada elemento n del flujo con toFind y devuelve true o false
Si cualquier elemento n devuelve true, found también se establecerá en true
import java.util.Arrays; public class Contains { public static void main(String[] args) { String[] strings = {"One", "Two", "Three", "Four", "Five"}; String toFind = "Four"; boolean found = Arrays.stream(strings).anyMatch(t -> t.equals(toFind)); if(found) System.out.println(toFind + "Encontrado"); else System.out.println(toFind + "No encontrado"); } }
Al ejecutar el programa, la salida es:
Cuatro encontrar
En el programa superior, utilizamos el tipo de datos no primitivo String y convertimos el Arrays.stream() en un flujo, luego utilizamos anyMatch() para verificar si el array contiene el valor dado toFind