Programul Kotlin pentru a verifica dacă o matrice conține o valoare dată

Î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-inbuclă 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ă truesau false.

Dacă oricare dintre elementele n revine true, găsit este setat la truefel.

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 Arrayse 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ă.

Articole interesante...