Java Program to Check if An Array Contains a Given Value

In this program, you'll learn to check if an array contains a given value in Java.

Example 1: Check if Int Array contains a given value

public class Contains {

    public static void main(String[] args) {
        int[] num = {1, 2, 3, 4, 5};
        int toFind = 3;
        boolean found = false;

        for (int n : num) {
            if (n == toFind) {
                found = true;
                break;
            }
        }

        if(found)
            System.out.println(toFind + " is found.");
        else
            System.out.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 foreach 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;

public class Contains {

    public static void main(String[] args) {
        int[] num = {1, 2, 3, 4, 5};
        int toFind = 7;

        boolean found = IntStream.of(num).anyMatch(n -> n == toFind);

        if(found)
            System.out.println(toFind + " is found.");
        else
            System.out.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;

public class Contains {

    public static void main(String[] args) {
        String[] strings = {"One", "Two", "Three", "Four", "Five"};
        String toFind = "Four";

        boolean found = Arrays.stream(strings).anyMatch(t -> t.equals(toFind));

        if(found)
            System.out.println(toFind + " is found.");
        else
            System.out.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.