Kotlin Program to Check if An Array Contains a Given Value

Example 1: Check if Int Array contains a given value

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 is found.")
    else
        println("$toFind is not found.")
}

When you run the program, the output will be:

3 is found.

In the above program, we have an array of integers stored in variable num. Likewise, the number to be found is stored in toFind.

Now, we use a for-in loop to iterate through all elements of num and check individually if toFind is equal to n or not.

If yes, we set found to true and break from the loop. If not, we move to the next iteration.


Example 2: Check if array contains given value using Stream

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 is found.")
    else
        println("$toFind is not found.")
}

When you run the program, the output will be:

7 is not found.

In the above program, instead of using a foreach loop, we convert the array to an IntStream and use its anyMatch() method.

anyMatch() method takes a predicate, an expression or a function which returns a boolean value. In our case, the predicate compares each element n in the stream to toFind and returns true or false.

If any of the element n returns true, found is set to true as well.


Example 3: Check if array contains a given value for non-primitive types

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 is found.")
    else
        println("$toFind is not found.")
}

When you run the program, the output will be:

Four is found.

In the above program, we've used a non-primitive data type String and used Arrays's stream() method to first convert it to a stream and anyMatch() to check if array contains the given value toFind.

Here's the equivalent Java code: Java program to check if array contains a given value.

Did you find this article helpful?