JAVA
배열 요소 중에 특정값이 존재하는지 검사
제뉴어리맨
2022. 5. 15. 19:42
package test;
import java.util.Arrays;
import java.util.stream.IntStream;
public class Test {
public static void main(String[] args) {
// 문자열
final String[] UPLOADABLE_FILE_EXTENSION = { "png", "jpg", "pdf", "xlsx", "xls", "hwp" };
String extension1 = "";
String extension2 = "";
boolean java7 = false;
boolean java8 = true;
extension1 = "pdf";
java7 = Arrays.asList(UPLOADABLE_FILE_EXTENSION).contains(extension1);
java8 = Arrays.stream(UPLOADABLE_FILE_EXTENSION).anyMatch(extension1::equals);
System.out.println("java7 : " + java7);
System.out.println("java8 : " + java8);
System.out.println("");
extension2 = "exe";
java7 = Arrays.asList(UPLOADABLE_FILE_EXTENSION).contains(extension2);
java8 = Arrays.stream(UPLOADABLE_FILE_EXTENSION).anyMatch(extension2::equals);
System.out.println("java7 : " + java7);
System.out.println("java8 : " + java8);
System.out.println("");
// 숫자
final int[] POSSIBLE_NUMBER = { 1, 2, 3, 4 };
java8 = IntStream.of(POSSIBLE_NUMBER).anyMatch(x -> x == 2);
System.out.println("java8 : " + java8);
}
}

문자열 (Java7 이하)
Arrays.asList(배열).contains(특정 값);
문자열 (Java8 이상)
Arrays.stream(배열).anyMatch(특정 값::equals);
(equals 외에 String 의 다른 메소드도 사용이 가능하다.)
숫자 (java8 이상)
IntStream.of(배열).anyMatch(x -> x == 특정 숫자);