どうも、ちょげ(@chogetarou)です。
リスト(List)のNullの要素を全て削除する方法を紹介します。
方法

リスト(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);
コメント