Dalam program ini, anda akan belajar untuk memeriksa apakah array mengandungi nilai tertentu di Kotlin.
Contoh 1: Periksa sama ada Int Array mengandungi nilai yang diberikan
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.") )
Semasa anda menjalankan program, outputnya adalah:
3 dijumpai.
Dalam program di atas, kita mempunyai susunan bilangan bulat yang tersimpan dalam pemboleh ubah bilangan. Begitu juga, nombor yang akan dijumpai disimpan di toFind.
Sekarang, kami menggunakan for-in
gelung untuk mengulangi semua elemen num dan memeriksa secara individu sama ada toFind sama dengan n atau tidak.
Sekiranya ya, kami menetapkan untuk menemui true
dan melepaskan diri dari gelung. Sekiranya tidak, kita beralih ke lelaran seterusnya.
Contoh 2: Periksa sama ada array mengandungi nilai yang diberikan menggunakan 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.") )
Semasa anda menjalankan program, outputnya adalah:
7 tidak dijumpai.
Dalam program di atas, alih-alih menggunakan gelung foreach, kita mengubah array menjadi IntStream
dan menggunakan anyMatch()
kaedahnya.
anyMatch()
kaedah mengambil predikat, ungkapan atau fungsi yang mengembalikan nilai boolean. Dalam kes kami, predikat membandingkan setiap elemen n dalam aliran untuk Mencari dan mengembalikan true
atau false
.
Sekiranya ada unsur n yang dikembalikan true
, didapati juga ditetapkan true
.
Contoh 3: Periksa sama ada array mengandungi nilai yang diberikan untuk jenis bukan primitif
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.") )
Semasa anda menjalankan program, outputnya adalah:
Empat dijumpai.
Dalam program di atas, kita telah menggunakan jenis data bukan primitif String
dan digunakan Arrays
's stream()
kaedah untuk convert pertama kepada sungai dan anyMatch()
hotel dan pelbagai mengandungi nilai toFind diberikan.
Inilah kod Java yang setara: Program Java untuk memeriksa apakah array mengandungi nilai tertentu.