Kotlin程序檢查數(shù)組是否包含給定值

Kotlin 實(shí)例大全

在此程序中,您將學(xué)習(xí)在Kotlin中檢查數(shù)組是否包含給定值。

示例1:檢查Int數(shù)組是否包含給定值

fun main(args: Array<String>) {

    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 找到。")
    else
        println("$toFind 未找到。")
}

運(yùn)行該程序時(shí),輸出為:

3 找到。

在上面的程序中,我們有一個(gè)整數(shù)數(shù)組存儲(chǔ)在變量num中,同樣,要找到的數(shù)字也存儲(chǔ)在toFind中。

現(xiàn)在,我們使用for-in循環(huán)來(lái)遍歷num的所有元素,并逐個(gè)檢查是否要查找是否等于n。

如果是,我們將found設(shè)置為true并退出循環(huán)。如果沒(méi)有,我們移到下一個(gè)迭代。

示例2:使用Stream檢查數(shù)組是否包含給定值

import java.util.stream.IntStream

fun main(args: Array<String>) {

    val num = intArrayOf(1, 2, 3, 4, 5)
    val toFind = 7

    val found = IntStream.of(*num).anyMatch { n -> n == toFind }

    if (found)
        println("$toFind 找到.")
    else
        println("$toFind 未找到.")
}

運(yùn)行該程序時(shí),輸出為:

7 未找到.

在上面的程序中,我們沒(méi)有使用foreach循環(huán),而是將數(shù)組轉(zhuǎn)換為IntStream并使用其anyMatch()方法。

返回一個(gè)boolean表達(dá)式或anyMatch()函數(shù)。在我們的實(shí)例中,謂詞將流中的每個(gè)元素n與toFind進(jìn)行比較,并返回true或false。

如果任何元素n返回true,則found也被設(shè)置為true。

示例3:檢查數(shù)組是否包含非原始類型的給定值

import java.util.Arrays

fun main(args: Array<String>) {

    val strings = arrayOf("One", "Two", "Three", "Four", "Five")
    val toFind = "Four"

    val found = Arrays.stream(strings).anyMatch { t -> t == toFind }

    if (found)
        println("$toFind 找到.")
    else
        println("$toFind 未找到.")
}

運(yùn)行該程序時(shí),輸出為:

Four 找到.

在上面的程序中,我們使用了一個(gè)非原始數(shù)據(jù)類型String,并使用Arrays的stream()方法首先將其轉(zhuǎn)換為stream,anyMatch()檢查array是否包含給定的toFind值。

以下是等效的Java代碼:檢查數(shù)組是否包含給定值的Java程序

Kotlin 實(shí)例大全

丰满人妻一级特黄a大片,午夜无码免费福利一级,欧美亚洲精品在线,国产婷婷成人久久Av免费高清