Java - ArrayList가 비어있는지 확인, 3가지 방법

자바에서 ArrayList가 비어있는지(empty 또는 null) 확인하는 다양한 방법을 소개합니다.

1. ArrayList.isEmpty()로 리스트가 empty인지 확인

ArrayList.isEmpty()리스트에 저장된 요소가 하나도 없을 때 true를 리턴합니다. 따라서, 리스트가 비어있는지 확인할 수 있습니다.

import java.util.ArrayList;
import java.util.Arrays;

public class Example {

    public static void main(String[] args) {

        ArrayList<String> list1 = new ArrayList<>();
        ArrayList<String> list2 = new ArrayList<>(Arrays.asList("a", "b", "c", "d", "e"));

        if (list1.isEmpty()) {
            System.out.println("list1 is empty");
        }

        if (!list2.isEmpty()) {
            System.out.println("list2 is not empty");
        }
    }
}

Output:

list1 is empty
list2 is not empty

2. ArrayList.size()로 리스트가 empty인지 확인

ArrayList.size()는 리스트의 크기를 리턴합니다. 즉, 리스트에 요소가 하나도 없을 때는 0을 리턴합니다. size()의 리턴 값이 0일 때 리스트가 비어있다고 판단할 수 있습니다.

import java.util.ArrayList;
import java.util.Arrays;

public class Example1 {

    public static void main(String[] args) {

        ArrayList<String> list1 = new ArrayList<>();
        ArrayList<String> list2 = new ArrayList<>(Arrays.asList("a", "b", "c", "d", "e"));

        if (list1.size() == 0) {
            System.out.println("list1 is empty");
        }

        if (list2.size() != 0) {
            System.out.println("list2 is not empty");
        }
    }
}

Output:

list1 is empty
list2 is not empty

3. ArrayList가 null인지, empty인지 확인하는 함수 구현

ArrayList.isEmpty() 또는 ArrayList.size() 메소드만으로 리스트가 비어있는지 확인할 수 있지만, ArrayList 객체가 null일 때 이 메소드를 호출하면 NullPointerException이 발생합니다.

따라서, 아래와 같이 먼저 null check를 하고 그 다음에 isEmpty()로 리스트가 비어있는지 확인해야 합니다.

if (list == null || list.isEmpty()) {
    // list is null or empty
}

만약 자주 empty 체크를 하는 경우, 아래와 같이 유틸리티 함수를 만들고 사용하면 코드가 짧고 간편합니다.

import java.util.ArrayList;
import java.util.Arrays;

public class Example2 {

    public static boolean isNullOrEmpty(final ArrayList list) {
        return list == null || list.isEmpty();
    }

    public static void main(String[] args) {

        ArrayList<String> list1 = new ArrayList<>();
        ArrayList<String> list2 = new ArrayList<>(Arrays.asList("a", "b", "c", "d", "e"));
        ArrayList<String> list3 = null;

        if (isNullOrEmpty(list1)) {
            System.out.println("list1 is null or empty");
        }

        if (!isNullOrEmpty(list2)) {
            System.out.println("list2 is not null or empty");
        }

        if (isNullOrEmpty(list3)) {
            System.out.println("list3 is null or empty");
        }
    }
}

Output:

list1 is null or empty
list2 is not null or empty
list3 is null or empty
Loading script...

Related Posts

codechachaCopyright ©2019 codechacha