Java | 実務で for文 と foreach/Stream をどう使い分けるか

Java Java
スポンサーリンク

for / foreach / Stream の比較例

了では「同じ処理を for / foreach / Stream で書いた比較例」を並べてみます。


例題

リストの中の文字列をすべて大文字にして出力する。


1. 従来の for文

List<String> names = List.of("Alice", "Bob", "Charlie");

for (int i = 0; i < names.size(); i++) {
    String upper = names.get(i).toUpperCase();
    System.out.println(upper);
}
Java
  • 特徴: インデックスを使えるので柔軟。
  • デメリット: インクリメントや境界条件を自分で管理する必要がある。

2. 拡張 for文(foreach)

for (String name : names) {
    System.out.println(name.toUpperCase());
}
Java
  • 特徴: インデックス不要でシンプル。
  • デメリット: インデックス番号が必要な場合には使えない。

3. Stream API

names.stream()
     .map(String::toUpperCase)
     .forEach(System.out::println);
Java
  • 特徴: 宣言的に「変換して出力」と書ける。
  • デメリット: 初心者には少し読みにくい場合がある。

まとめ

方法メリットデメリット実務での使いどころ
for文インデックスが使える、柔軟境界条件やインクリメント管理が必要インデックスを使う処理、複雑な制御
foreachシンプル、安全、読みやすいインデックスが使えない要素を順に処理するだけのとき
Stream宣言的でモダン、変換やフィルタに強い初心者には読みにくい、やや冗長条件付き処理、データ変換、並列処理

💡 実務では「まず foreach、必要なら for、もっと複雑なら Stream」という順番で選ぶのが安全です。

Java
スポンサーリンク
シェアする
@lifehackerをフォローする
スポンサーリンク
タイトルとURLをコピーしました