Java 8 以降で利用できる Stream API は、文字列リストの加工・整形に非常に便利です。
filter / map / collect を組み合わせるだけで、複雑な処理もスッキリ書けるようになります。
この記事では、**業務システムで頻出する「文字列リストの加工」**を中心に、すぐに使えるサンプルをまとめています。
✔ よくある文字列リストの処理
業務プログラムの中で、以下のようなケースはよくあります。
-
空文字・null を除去したい
-
前後の空白を trim したい
-
大文字/小文字変換をしたい
-
任意の条件で絞り込みたい
-
区切り文字にまとめたい(CSV・ログなど)
こうした処理は Stream API を使うと 1 行で書ける ことが多いです。
1. 空文字・null を除去する
2. 全要素を大文字 or 小文字に変換する
3. 特定の文字を含む要素だけ抽出する
部分一致の他に、startsWith / endsWith / 正規表現 なども活用できます。
4. trim+フィルタ+整形をまとめて 1 行で
業務コードで頻発する「整形 → フィルタ → 出力」を 1 行で書く例です。
5. 重複要素を除外する(distinct)
6. 文字列リストを区切り文字で join する(CSV など)
改行やタブ区切りにも応用できます。
7. リスト内の文字列長でソートする(Comparator)
降順にしたい場合:
8. 正規表現で加工する(replaceAll 等)
9. Stream API を使うメリットまとめ
✔ コードが短く読みやすい
for文で数十行になる処理が、Stream だと数行に。
✔ null などの例外ケースを潰しやすい
filter → map → collect の流れが明確で安全。
✔ 並列処理(parallelStream)にも切り替えやすい
データ量が多い場合に性能改善も期待できる。
まとめ
Stream API を使うと、文字列リストの加工・整形が圧倒的にシンプルになります。
-
null / 空白除去
-
大文字・小文字変換
-
条件フィルタ
-
重複削除
-
join で CSV 形式へ変換
-
ソート
これらは業務アプリで頻出するため、覚えておくとコード品質・保守性が確実に上がります。
