În acest program, veți învăța să verificați dacă o matrice conține o valoare dată în Kotlin.
Exemplul 1: Verificați dacă Int Array conține o valoare dată
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.") )
Când rulați programul, ieșirea va fi:
3 se găsește.
În programul de mai sus, avem o serie de numere întregi stocate în variabila num. La fel, numărul de găsit este stocat în toFind.
Acum, folosim o for-in
buclă pentru a itera prin toate elementele num și verificăm individual dacă toFind este egal cu n sau nu.
Dacă da, am setat găsit la true
și rupem de la buclă. Dacă nu, trecem la următoarea iterație.
Exemplul 2: Verificați dacă matricea conține valoarea dată utilizând 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.") )
Când rulați programul, ieșirea va fi:
7 nu este găsit.
În programul de mai sus, în loc să folosim o buclă foreach, convertim matricea în IntStream
și folosim anyMatch()
metoda sa .
anyMatch()
metoda ia un predicat, o expresie sau o funcție care returnează o valoare booleană. În cazul nostru, predicatul compară fiecare element n din flux cu toFind și returnează true
sau false
.
Dacă oricare dintre elementele n revine true
, găsit este setat la true
fel.
Exemplul 3: Verificați dacă matricea conține o valoare dată pentru tipurile neprimitive
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.") )
Când rulați programul, ieșirea va fi:
Patru sunt găsite.
În programul de mai sus, am folosit un tip de date non-primitiv String
și folosit Arrays
e stream()
metoda pentru prima converti la un flux și anyMatch()
pentru a verifica dacă matrice conține date tofind valoare.
Iată codul Java echivalent: program Java pentru a verifica dacă matricea conține o valoare dată.