Java – Check if Array contains a certain value?

时间:2022-01-13 14:47:27

Java – Check if Array contains a certain value?
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

from:http://www.mkyong.com/java/java-check-if-array-contains-a-certain-value/