[Java]リスト(List)のNullの要素を全て削除するには?

Java

どうも、ちょげ(@chogetarou)です。

リスト(List)のNullの要素を全て削除する方法を紹介します。

スポンサーリンク

方法

インターフェース, インターネット, プログラム, ブラウザ, Www

リスト(List)のNullの要素を全て削除する方法は、3つあります。

remove()

ひとつめは、remove()を使う方法です。

まず、while()を記述します。

そして、while()の条件式でリストからremove()を呼び出します。

remove()の引数に「null」を指定します。

//list=対象のリスト
while (list.remove(null));

上記のwhile()は、remove()を呼び出したリスト(List)のNullの要素を全て削除します。

使用例

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

public class Main {

    public static void main(String[] args) throws Exception {
        ArrayList<String> nums = new ArrayList<String>(Arrays.asList("one", null, "two", "three", null, null,  "four", "five", null));
        
        
        while (nums.remove(null));
        
        System.out.println(nums);
    }
}
出力:
[one, two, three, four, five]

removeAll()

ふたつめは、removeAll()を使う方法です。

まず、Collectionsをインポートします。

import java.util.Collections;

次に、リストからremoveAll()を指定します。

removeAll()の引数に「Collections.singleton(null)」を指定します。

//list=対象のリスト
list.removeAll(Collections.singleton(null));

上記のremoveAll()は、呼び出したリスト(List)のNullの要素を全て削除します。

使用例

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

public class Main {

    public static void main(String[] args) throws Exception {
        ArrayList<String> nums = new ArrayList<String>(Arrays.asList("one", null, "two", "three", null, null,  "four", "five", null));
        
        
        nums.removeAll(Collections.singleton(null));
        
        System.out.println(nums);
    }
}
出力:
[one, two, three, four, five]

removeIf()

みっつめは、removeIf()を使う方法です。

まず、リストからremoveIf()を呼び出します。

removeIf()の引数に、引数がNullの場合に「true」となる条件式を返すラムダ式を指定します。

//list=対象のリスト
list.removeIf(c -> c == null);

上記のremoveIf()は、呼び出したリスト(List)のNullの要素を全て削除します。

使用例

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

public class Main {

    public static void main(String[] args) throws Exception {
        ArrayList<String> nums = new ArrayList<String>(Arrays.asList("one", null, "two", "three", null, null,  "four", "five", null));
        
        
        nums.removeIf(c -> c == null);
        
        System.out.println(nums);
    }
}
出力:
[one, two, three, four, five]

まとめ

リスト(List)のNullの要素を全て削除する方法は、次の3つです。

  • remove()を使う方法
    while (list.remove(null));
  • removeAll()を使う方法
    list.removeAll(Collections.singleton(null));
  • removeIf()を使う方法
    list.removeIf(c -> c == null);

コメント

タイトルとURLをコピーしました