[Java]配列(array)のNullの要素を削除するには?

Java

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

配列(array)のNullの要素を削除する方法を紹介します。

スポンサーリンク

方法

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

配列(array)のNullの要素を削除するには、Arraysを使います。

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

import java.util.Arrays;

次に、Arraysからstream()を呼び出します。

stream()の引数に配列を指定します。

stream()からfilter()を呼び出し、filter()の引数に要素がNull以外で「true」となる条件式を返すラムダ式指定します。

そして、filter()からtoArray()を呼び出します。

toArray()の引数に「T[]::new」(T=要素の型)を指定します。

//T=要素の型, arr=対象の配列
T[] result = Arrays.stream(arr)
                  .filter(a -> a != null)
                  .toArray(T[]::new);

上記のtoArray()は、Nullの要素を全て削除した配列(array)を生成します。

使用例

import java.util.Arrays;

public class Main {

    public static void main(String[] args) throws Exception {
        String[] nums = {"one", null, "two", "three", null, null,  "four", "five", null};
        
        
        nums = Arrays.stream(nums)
                    .filter(a -> a != null)
                    .toArray(String[]::new);
        
        System.out.println(String.join(",", nums));
    }
}

出力:
one,two,three,four,five

コメント

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