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 == 특정 숫자);

 

https://ethankang.tistory.com/28