En este programa, aprenderá a verificar si una matriz contiene un valor dado en Kotlin.
Ejemplo 1: Verifique si Int Array contiene un valor dado
fun main(args: Array) ( val num = intArrayOf(1, 2, 3, 4, 5) val toFind = 3 var found = false for (n in num) ( if (n == toFind) ( found = true break ) ) if (found) println("$toFind is found.") else println("$toFind is not found.") )
Cuando ejecute el programa, la salida será:
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 for-in
ciclo para iterar a través de todos los elementos de num y verificamos 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 la matriz contiene un valor dado usando Stream
import java.util.stream.IntStream fun main(args: Array) ( val num = intArrayOf(1, 2, 3, 4, 5) val toFind = 7 val found = IntStream.of(*num).anyMatch ( n -> n == toFind ) if (found) println("$toFind is found.") else println("$toFind is not found.") )
Cuando ejecute el programa, la salida será:
7 no se encuentra.
En el programa anterior, en lugar de usar un bucle foreach, convertimos la matriz en an 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 la matriz contiene un valor dado para tipos no primitivos
import java.util.Arrays fun main(args: Array) ( val strings = arrayOf("One", "Two", "Three", "Four", "Five") val toFind = "Four" val found = Arrays.stream(strings).anyMatch ( t -> t == toFind ) if (found) println("$toFind is found.") else println("$toFind is not found.") )
Cuando ejecute el programa, la salida será:
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 una secuencia y anyMatch()
para verificar si la matriz contiene el valor dado para buscar.
Aquí está el código Java equivalente: programa Java para verificar si la matriz contiene un valor dado.