Java - ArrayListが空であることを確認する3つの方法

JavaでArrayListが空であることを確認するさまざまな方法を紹介します(emptyまたはnull)。

1. ArrayList.isEmpty() でリストが empty であることを確認する

ArrayList.isEmpty() は、リストに格納された要素が 1 つもない場合に 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() はリストのサイズを返します。つまり、リストに要素が 1 つもない場合は 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

Related Posts

codechachaCopyright ©2019 codechacha