En este programa, aprenderá a verificar si una matriz contiene un valor dado en Java.
Para comprender este ejemplo, debe tener el conocimiento de los siguientes temas de programación de Java:
- Matrices de Java
- Tipos de datos de Java (primitivo)
Ejemplo 1: Verifique si Int Array contiene un valor dado
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 + " is found."); else System.out.println(toFind + " is not found."); ) )
Salida
Se encuentra 3.
En el programa anterior, tenemos una matriz de enteros almacenados en la variable num. Asimismo, el número a buscar se almacena en toFind.
Ahora, usamos un bucle for-each para recorrer todos los elementos de num y comprobar individualmente si toFind es igual an o no.
Si es así, establecemos encontrado true
y salimos del bucle. Si no, pasamos a la siguiente iteración.
Ejemplo 2: Verifique si una matriz contiene un valor dado usando Stream
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 + " is found."); else System.out.println(toFind + " is not found."); ) )
Salida
7 no se encuentra.
En el programa anterior, en lugar de usar un bucle for-each, convertimos la matriz en IntStream
y usamos su anyMatch()
método.
anyMatch()
El método toma un predicado, una expresión o una función que devuelve un valor booleano. En nuestro caso, el predicado compara cada elemento n en la secuencia con toFind y devuelve true
o false
.
Si alguno de los elementos n regresa true
, encontrado también se establece en true
.
Ejemplo 3: compruebe si una matriz contiene un valor dado para tipos no primitivos
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 + " is found."); else System.out.println(toFind + " is not found."); ) )
Salida
Se encuentra cuatro.
En el programa anterior, usamos un tipo de datos no primitivo String
y usamos Arrays
el stream()
método 'para convertirlo primero en un flujo y anyMatch()
para verificar si la matriz contiene el valor dado para buscar.