Kotlina programma, lai pārbaudītu, vai masīvā ir dota vērtība

Šajā programmā jūs iemācīsities pārbaudīt, vai masīvs satur noteiktu vērtību Kotlinā.

1. piemērs: pārbaudiet, vai Int Array satur noteiktu vērtību

 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.") )

Palaidot programmu, izeja būs:

 3 ir atrasts.

Iepriekš minētajā programmā mums ir veselu skaitļu masīvs, kas saglabāts mainīgajā num. Tāpat atrodamais numurs tiek saglabāts mapē ToFind.

Tagad mēs izmantojam for-incilpu, lai atkārtotu visus num elementus un pārbaudītu atsevišķi, vai toFind ir vienāds ar n vai nē.

Ja jā, mēs iestatījām trueun pārtraucām darbību. Ja nē, mēs pārietam uz nākamo atkārtojumu.

2. piemērs: Pārbaudiet, vai masīvā ir dota vērtība, izmantojot straumi

 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.") )

Palaidot programmu, izeja būs:

 7 nav atrasts.

Iepriekš minētajā programmā tā vietā, lai izmantotu foreach cilpu, mēs pārveidojam masīvu uz IntStreamun izmantojam tā anyMatch()metodi.

anyMatch()metode prasa predikātu, izteiksmi vai funkciju, kas atgriež Būla vērtību. Mūsu gadījumā predikāts katru elementu n straumē salīdzina ar toFind un atgriež truevai false.

Ja atgriežas kāds no elementiem n true, tiek iestatīts truearī atrasts .

3. piemērs: pārbaudiet, vai masīvā ir noteikta vērtība neprimitīviem tipiem

 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.") )

Palaidot programmu, izeja būs:

 Atrasti četri.

Iepriekš programmai, esam izmanto bez primitīvas datu tipu Stringun lieto Arrays's stream()metodi, lai vispirms konvertēt to uz plūsmā, un anyMatch(), lai pārbaudītu, vai masīvs satur doto vērtību toFind.

Šeit ir ekvivalents Java kods: Java programma, lai pārbaudītu, vai masīvā ir dota vērtība.

Interesanti raksti...