# How to check if an array contains a value in Java

By Atta Ur Rehman Shah (https://attacomsian.com/about). Published Dec 1, 2019. Topics: Java.
Canonical URL: https://attacomsian.com/blog/java-array-contains-value

> A short tutorial to learn how to check if an array contains a certain value in Java.

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](https://attacomsian.com/blog/java-convert-array-to-list)
2. Use the `List.contains()` method to check if the value exists in the list

Here is an example:

```java
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:

```bash
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:

```java
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:

```bash
Hi, Atta ?
```

### Check Multiple Values

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

```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:

```bash
Hi, Atta & John ?
```

## Primitive Arrays

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

```java
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:

```bash
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:

```java
// 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:

```bash
Welcome 2020 ?
Yup, 54 is there ?
```
