En este programa, aprenderá a verificar si una matriz contiene un valor dado en Java.
Ejemplo 1: Compruebe 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.");
}
}
Cuando ejecutas el programa, la salida será:
3 se encuentra.
En el programa anterior, tenemos una matriz de enteros almacenados en la variable num . Del mismo modo, el número que se encuentra se almacena en toFind .
Ahora, usamos un
foreach
bucle para recorrer en iteración todos los elementos de num y verificar individualmente si toFind es igual a n o no.
Si es así, nos propusimos encontramos a
true
y descanso del bucle. Si no, pasamos a la siguiente iteración.Ejemplo 2: Verifique si la 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.");
}
}
Cuando ejecutas el programa, la salida será:
7 no se encuentra.
En el programa anterior, en lugar de usar un bucle foreach, convertimos la matriz a ay
IntStream
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 la 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.");
}
}
Cuando ejecutas el programa, la salida será:
Se encuentra cuatro.
En el programa anterior, hemos usado un tipo de datos no primitivo
String
y Arrays
el stream()
método utilizado para convertirlo primero en una secuencia y anyMatch()
para verificar si la matriz contiene el valor dado para Encontrar .
0 Comentarios
Dejanos tu comentario para seguir mejorando!