「文字列処理」タグアーカイブ

Java Streamsで文字列リストを加工・整形する便利テクニック

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 形式へ変換

  • ソート

これらは業務アプリで頻出するため、覚えておくとコード品質・保守性が確実に上がります。