Neste programa, você aprenderá a verificar se uma matriz contém um determinado valor em Kotlin.
Exemplo 1: Verifique se Int Array contém um determinado valor
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.") )
Quando você executa o programa, a saída será:
3 é encontrado.
No programa acima, temos uma matriz de inteiros armazenados na variável num. Da mesma forma, o número a ser encontrado é armazenado em toFind.
Agora, usamos um for-in
loop para iterar por todos os elementos de num e verificar individualmente se toFind é igual a n ou não.
Em caso afirmativo, definimos found para true
e sair do loop. Caso contrário, passamos para a próxima iteração.
Exemplo 2: Verifique se a matriz contém um determinado valor 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.") )
Quando você executa o programa, a saída será:
7 não foi encontrado.
No programa acima, em vez de usar um loop foreach, convertemos o array em um IntStream
e usamos seu anyMatch()
método.
anyMatch()
método leva um predicado, uma expressão ou uma função que retorna um valor booleano. Em nosso caso, o predicado compara cada elemento n no fluxo com toFind e retorna true
ou false
.
Se algum dos elementos n retornar true
, found será definido true
como também.
Exemplo 3: verifique se a matriz contém um determinado valor para tipos não 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.") )
Quando você executa o programa, a saída será:
Quatro são encontrados.
No programa acima, usamos um tipo de dados não primitivo String
e usamos Arrays
o stream()
método para primeiro convertê-lo em um fluxo e anyMatch()
verificar se o array contém o valor fornecido paraFind.
Aqui está o código Java equivalente: programa Java para verificar se o array contém um determinado valor.