Bu programda, bir dizinin Kotlin'de belirli bir değer içerip içermediğini kontrol etmeyi öğreneceksiniz.
Örnek 1: Int Array'in belirli bir değer içerip içermediğini kontrol edin
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.") )
Programı çalıştırdığınızda, çıktı:
3 bulunur.
Yukarıdaki programda, num değişkeninde saklanan bir tamsayı dizisine sahibiz. Aynı şekilde, bulunacak numara toFind'da saklanır.
Şimdi, for-in
num'un tüm öğelerini yinelemek için bir döngü kullanıyoruz ve toFind'ın n'ye eşit olup olmadığını tek tek kontrol ediyoruz.
Cevabınız evet true
ise, döngüyü bulup koparırız. Değilse, bir sonraki yinelemeye geçiyoruz.
Örnek 2: Dizinin Stream kullanarak belirli bir değeri içerip içermediğini kontrol edin
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.") )
Programı çalıştırdığınızda, çıktı:
7 bulunamadı.
Yukarıdaki programında, bir foreach döngüsü kullanarak, biz için dizi dönüştürmek IntStream
ve kullanma anyMatch()
yöntemi.
anyMatch()
yöntem bir yüklem, ifade veya mantıksal değer döndüren bir işlevi alır. Bizim durumumuzda yüklem, akıştaki her n öğesini toFind ile karşılaştırır ve true
veya döndürür false
.
Eğer n elemanından herhangi biri dönerse true
, bulunanlar da olarak ayarlanır true
.
Örnek 3: Dizinin ilkel olmayan türler için belirli bir değer içerip içermediğini kontrol edin
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.") )
Programı çalıştırdığınızda, çıktı:
Dört bulunur.
Yukarıdaki programda, ilkel olmayan bir veri türü String
kullandık ve ilk önce onu bir akışa dönüştürmek ve dizinin verilen toFind değerini içerip içermediğini kontrol etmek için Arrays
s stream()
yöntemini anyMatch()
kullandık.
İşte eşdeğer Java kodu: Dizinin belirli bir değeri içerip içermediğini kontrol etmek için Java programı.