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?

Your builder path starts here. Builders don't just know how to code, they create solutions that matter.

Escape tutorial hell and ship real projects.

Try Programiz PRO
  • Real-World Projects
  • On-Demand Learning
  • AI Mentor
  • Builder Community