In this short article, you'll learn how to check if an array contains a certain value in Java. We will look at different examples of string as well as primitive arrays to find out if a certain value exists.

String Arrays

The simplest and easiest way to check if a string array contains a certain value is the following:

  1. Convert the array into a list
  2. Use the List.contains() method to check if the value exists in the list

Here is an example:

String[] names = {"Atta", "John", "Emma", "Tom"};

// convert array to list
List<String> list = Arrays.asList(names);

// check if `Emma` exists in list
if(list.contains("Emma")) {
    System.out.println("Hi, Emma πŸ‘‹");
}

You should see the following output:

Hi, Emma πŸ‘‹

Java 8 Stream API

In Java 8 or higher, you can also use the Stream API to check if a value exists in an array as shown below:

String[] names = {"Atta", "John", "Emma", "Tom"};

// check if `Atta` exists in list
boolean exist = Arrays.stream(names).anyMatch("Atta"::equals);
if(exist) {
    System.out.println("Hi, Atta πŸ™Œ");
}

The above code will output the following:

Hi, Atta πŸ™Œ

Check Multiple Values

The following example demonstrates how to check if a string array contains multiple values in Java:

String[] names = {"Atta", "John", "Emma", "Tom"};

// convert array to list
List<String> list = Arrays.asList(names);

// check 'Atta' & `John`
if (list.containsAll(Arrays.asList("Atta", "John"))) {
    System.out.println("Hi, Atta & John πŸŽ‰");
}

You should see the following output:

Hi, Atta & John πŸŽ‰

Primitive Arrays

For primitive arrays like int[], you have to loop all elements to test the condition manually:

int[] years = {2015, 2016, 2017, 2018, 2019, 2020};

// loop all elements
for (int y : years) {
    if (y == 2019) {
        System.out.println("Goodbye, 2019!");
        break;
    }
}

Here is how the output looks like:

Goodbye, 2019!

Java 8 IntStream & LongStream

With Java 8 or higher, you can convert the primitive array to a Stream and then check if it contains a certain value as shown below:

// Integer Array
int[] years = {2015, 2016, 2017, 2018, 2019, 2020};

// check if `2020` exits
boolean yearExist = IntStream.of(years).anyMatch(x -> x == 2019);
if(yearExist) {
    System.out.println("Welcome 2020 🌟");
}

// Long Array
long[] prices = {12, 15, 95, 458, 54, 235};

// check if `54` exits
boolean priceExist = LongStream.of(prices).anyMatch(x -> x == 54);
if(priceExist) {
    System.out.println("Yup, 54 is there πŸ’°");
}

The above code snippet outputs the following:

Welcome 2020 🌟
Yup, 54 is there πŸ’°

✌️ Like this article? Follow @attacomsian on Twitter. You can also follow me on LinkedIn and DEV. β˜• Buy me a coffee (cost $3)

Need help to start a new Spring Boot or MEAN stack project? I am available for contract work. Hire me to accomplish your business goals with engineering and design. Let’s talk about your project: hi@attacomsian.com.