Selles programmis õpite kontrollima, kas massiiv sisaldab Kotlinis antud väärtust.
Näide 1: kontrollige, kas Int Array sisaldab antud väärtust
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.") )
Programmi käivitamisel on väljund järgmine:
3 on leitud.
Ülaltoodud programmis on meil täisarvude massiiv, mis on salvestatud muutujasse num. Samamoodi on leiduv number salvestatud kaustaFind.
Nüüd kasutame for-intsüklit kõigi num-elementide itereerimiseks ja kontrollime eraldi, kas toFind on võrdne n-ga või mitte.
Kui jah, siis trueotsustasime leida ja murda silmus. Kui ei, siis liigume järgmise iteratsiooni juurde.
Näide 2: kontrollige, kas massiiv sisaldab antud väärtust, kasutades voogu
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.") )
Programmi käivitamisel on väljund järgmine:
7 ei leitud.
Ülaltoodud programmis teisendame massiivi foreach-i asemel ahelaks IntStreamja kasutame selle anyMatch()meetodit.
anyMatch()meetod võtab predikaadi, avaldise või funktsiooni, mis tagastab tõeväärtuse. Meie puhul võrdleb predikaat voos olevaid elemente n funktsiooniga ToFind ja tagastab truevõi false.
Kui mõni element n naaseb true, on leitud väärtuseks truesamuti leitud .
Näide 3: kontrollige, kas massiiv sisaldab mitteprimitiivsete tüüpide jaoks antud väärtust
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.") )
Programmi käivitamisel on väljund järgmine:
Leiti neli.
Eespool programmi oleme kasutanud mitte primitiivne andmetüüp Stringja kasutatud Arrays's stream()meetod kõigepealt teisendada see oja ja anyMatch()kontrollida, kas massiiv sisaldab antud raha toFind.
Siin on samaväärne Java-kood: Java-programm, et kontrollida, kas massiiv sisaldab antud väärtust.








