Програма Kotlin за проверка дали масивът съдържа дадена стойност

В тази програма ще се научите да проверявате дали масив съдържа дадена стойност в Kotlin.

Пример 1: Проверете дали Int Array съдържа дадена стойност

 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 е намерен.

В горната програма имаме масив от цели числа, съхранявани в променлива num. По същия начин номерът, който трябва да се намери, се съхранява в toFind.

Сега използваме for-inцикъл, за да прегледаме всички елементи на num и да проверим индивидуално дали toFind е равно на n или не.

Ако отговорът е „да“, ние задаваме „намерено“ trueи да прекъсваме цикъла. Ако не, преминаваме към следващата итерация.

Пример 2: Проверете дали масивът съдържа дадена стойност, като използвате 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.") )

Когато стартирате програмата, изходът ще бъде:

 7 не е намерен.

В горната програма, вместо да използваме цикъл foreach, ние преобразуваме масива в an IntStreamи използваме неговия anyMatch()метод.

anyMatch()метод приема предикат, израз или функция, която връща булева стойност. В нашия случай предикатът сравнява всеки елемент n в потока с toFind и връща trueили false.

Ако някой от елементите n се върне 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()да проверите дали масив съдържа даденото toFind стойност.

Ето еквивалентния Java код: Java програма за проверка дали масивът съдържа дадена стойност.

Интересни статии...