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

  1. public class Contains {
  2. public static void main(String[] args) {
  3. int[] num = {1, 2, 3, 4, 5};
  4. int toFind = 3;
  5. boolean found = false;
  6. for (int n : num) {
  7. if (n == toFind) {
  8. found = true;
  9. break;
  10. }
  11. }
  12. if(found)
  13. System.out.println(toFind + " is found.");
  14. else
  15. System.out.println(toFind + " is not found.");
  16. }
  17. }

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

  1. import java.util.stream.IntStream;
  2. public class Contains {
  3. public static void main(String[] args) {
  4. int[] num = {1, 2, 3, 4, 5};
  5. int toFind = 7;
  6. boolean found = IntStream.of(num).anyMatch(n -> n == toFind);
  7. if(found)
  8. System.out.println(toFind + " is found.");
  9. else
  10. System.out.println(toFind + " is not found.");
  11. }
  12. }

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

  1. import java.util.Arrays;
  2. public class Contains {
  3. public static void main(String[] args) {
  4. String[] strings = {"One", "Two", "Three", "Four", "Five"};
  5. String toFind = "Four";
  6. boolean found = Arrays.stream(strings).anyMatch(t -> t.equals(toFind));
  7. if(found)
  8. System.out.println(toFind + " is found.");
  9. else
  10. System.out.println(toFind + " is not found.");
  11. }
  12. }

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.