この投稿では、Javaのリストからnull、空、および空白の値をフィルタリングする方法について説明します。

1.プレーンJavaの使用

プレーンJavaでは、Stream APIを使用して、リストからnull、空、および空白の値をフィルタリングできます。

Stream APIは、 filter() 指定された述語に一致する要素を保持するメソッド。 null、空、および空白の値をリストから削除するには、逆述語を使用できます Predicate.not() Java11およびJava11より前のラムダ式を開始します。

 
次のプログラムは、動作を示しています filter() null、空、および空白の値を削除するメソッド。ソリューションは元のリストのコピーを作成することに注意してください。

ダウンロード  コードを実行する

2. ApacheCommonsLangの使用

プロジェクトでApacheCommonsLangを使用している場合は、次を使用できます。 isNotEmpty() また isNotBlank() からの方法 StringUtils nullセーフなクラス。次のプログラムは、これらのメソッドの動作を示しています。ソリューションは元のリストのコピーを作成することに注意してください。

コードをダウンロード

出力:

[A, B, C, D, E, ]
[A, B, C, D, E]

3.使用する removeIf() 方法

上記の両方のソリューションは、元のリストを変更しませんが、元のリストのコピーを作成します。リストをインプレースで変更する場合は、 removeIf() 方法。 The removeIf() メソッドは、指定された述語を満たすすべての要素を削除します。これを以下に示します。

ダウンロード  コードを実行する

出力:

[A, B, , C, D, , E, ]
[A, B, C, D, E, ]
[A, B, C, D, E]

これで、Javaのリストからnull、空、および空白の値をフィルタリングすることができます。