У овом програму ћете научити да проверите да ли низ садржи задату вредност у Котлину.
Пример 1: Проверите да ли Инт Арраи садржи задату вредност
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.") )
Када покренете програм, излаз ће бити:
3 је пронађен.
У горе наведеном програму имамо низ целих бројева сачуваних у променљивој нум. Слично томе, број који се налази је ускладиштен у тоФинд.
Сада користимо for-in
петљу да прелиставамо све елементе нум и појединачно проверимо да ли је тоФинд н или није.
Ако је одговор да, поставили смо пронађено true
и прекидали се из петље. Ако не, прелазимо на следећу итерацију.
Пример 2: Проверите да ли низ садржи задату вредност користећи Стреам
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.") )
Када покренете програм, излаз ће бити:
7 није пронађен.
У горњем програму, уместо да користимо фореацх петљу, ми претварамо низ у ан IntStream
и користимо његову anyMatch()
методу.
anyMatch()
метода узима предикат, израз или функцију која враћа логичку вредност. У нашем случају, предикат упоређује сваки елемент н у току са тоФинд и враћа true
или false
.
Ако се врати било који од елемената н true
, постављено је и на пронађено true
.
Пример 3: Проверите да ли низ садржи дату вредност за непримитивне типове
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.") )
Када покренете програм, излаз ће бити:
Четири су пронађене.
У наведеном програму, ми смо користили не примитивног типа података String
и користи Arrays
'с stream()
метода на прву га претворити у струји и anyMatch()
да се провери да ли низ садржи дати вредности тоФинд.
Ево еквивалентног Јава кода: Јава програм за проверу да ли низ садржи дату вредност.