본문 바로가기
Programming/Java

[Java] 배열에 특정 값이 존재하는지 체크 / How to check whether an array contains a prticular value in java

by 주리니e 2022. 7. 13.
728x90

배열에 특정 값이 존재하는지 체크

 

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 이상) (equals 외에 String 의 다른 메소드도 사용이 가능하다.)
Arrays.stream(배열).anyMatch(특정 값::equals);

 

  • 숫자 (java8 이상)
IntStream.of(배열).anyMatch(x -> x == 특정 숫자);
 

 

728x90

댓글