Java – Check if Array contains a certain value?

Java examples to check if an Array (String or Primitive type) contains a certain values, updated with Java 8 stream APIs.

1. String Arrays

1.1 Check if a String Array contains a certain value “A”.

StringArrayExample1.java

package com.mkyong.core;

import java.util.Arrays;
import java.util.List;

public class StringArrayExample1 {

    public static void main(String[] args) {

        String[] alphabet = new String[]{"A", "B", "C"};

        // Convert String Array to List
        List<String> list = Arrays.asList(alphabet);
        
        if(list.contains("A")){
            System.out.println("Hello A");
        }

    }

}

Output


Hello A

In Java 8, you can do this :


	// Convert to stream and test it
	boolean result = Arrays.stream(alphabet).anyMatch("A"::equals);
	if (result) {
		System.out.println("Hello A");
	}

1.2 Example to check if a String Array contains multiple values :

StringArrayExample2.java

package com.mkyong.core;

import java.util.Arrays;
import java.util.List;

public class StringArrayExample2 {

    public static void main(String[] args) {

        String[] alphabet = new String[]{"A", "C"};

        // Convert String Array to List
        List<String> list = Arrays.asList(alphabet);

        // A or B
        if (list.contains("A") || list.contains("B")) {
            System.out.println("Hello A or B");
        }

        // A and B
        if (list.containsAll(Arrays.asList("A", "B"))) {
            System.out.println("Hello A and B");
        }

        // A and C
        if (list.containsAll(Arrays.asList("A", "C"))) {
            System.out.println("Hello A and C");
        }

    }

}

Output


Hello A or B
Hello A and C

2. Primitive Arrays

2.1 For primitive array like int[], you need to loop it and test the condition manually :

PrimitiveArrayExample1.java

package com.mkyong.core;

import java.util.Arrays;
import java.util.List;

public class PrimitiveArrayExample1 {

    public static void main(String[] args) {

        int[] number = {1, 2, 3, 4, 5, 6, 7, 8, 9, 10};

        if(contains(number, 2)){
            System.out.println("Hello 2");
        }

    }

    public static boolean contains(final int[] array, final int v) {

        boolean result = false;

        for(int i : array){
            if(i == v){
                result = true;
                break;
            }
        }

        return result;
    }

}

Output


Hello 2

2.2 With Java 8, coding is much simpler ~

ArrayExample1.java

package com.mkyong.core;

import java.util.stream.IntStream;
import java.util.stream.LongStream;

public class TestDate {

    public static void main(String[] args) {

        int[] number = {1, 2, 3, 4, 5, 6, 7, 8, 9, 10};

        //Java 8
        boolean result = IntStream.of(number).anyMatch(x -> x == 4);

        if (result) {
            System.out.println("Hello 4");
        } else {
            System.out.println("Where is number 4?");
        }

        long[] lNumber = {1, 2, 3, 4, 5, 6, 7, 8, 9, 10};

        boolean result2 = LongStream.of(lNumber).anyMatch(x -> x == 10);

        if (result2) {
            System.out.println("Hello 10");
        } else {
            System.out.println("Where is number 10?");
        }

    }

}

Output


Hello 4
Hello 10
Note
To check if a primitive array contains multiple values, convert the array into a List and compare it like example 1.2 above.

References

  1. IntStream JavaDoc
  2. Arrays.asList JavaDoc
author image

mkyong

Founder of Mkyong.com, love Java and open source stuff. Follow him on Twitter. If you like my tutorials, consider make a donation to these charities. Read all published posts by

Comments

avatar
3000
newest oldest most voted
Alex Block
Guest
Alex Block

for 1.1 you could do
Arrays.stream(alphabet).filter(“A”::equals).findAny().ifPresent(s->System.out.println(“Hello A”));

which removes the need for the if below.

Adarshpal Brar
Guest
Adarshpal Brar

Hi,

The link of the topic does not match the title.

Regards,
Adarsh

Celia
Guest
Celia

The contains(array,value) worked like a dream for me to identify duplicate values as my random integers were being input into an array such that I was able to repeat the iteration without adding to the array limit.
Much appreciated.