24
10

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

【ポケモン×Java】知識編 for文#6 ~for文の限界とJava Stream入門~

Posted at

はじめに

前回まででfor文の基本やネスト、制御テクニックを学んできたけど、
今回はその“先”のお話。実務になると、for文だけじゃちょっと書きづらい場面が
出てくるんだ。そんなときのために、「for文の限界」と、
その先にあるJava Streamの世界をのぞいてみよう。


1. for文の苦手ポイント

for文は、

  • 配列やListを順に処理するのは得意。
    (特に、条件に合うものを探すといった単純な繰り返しは得意)
    しかし実務では、ネストが深くなって読みにくくなる。
     (ifやbreakが増えて迷路みたいになる)
  • 加工→抽出→集計みたいな一連処理をスッキリ書きにくい
    なんてことが起こる。

2. ラベル付きbreakでネストから脱出

二重ループをまとめて抜けたいときはこう書ける。

outer:
for (int i = 0; i < 3; i++) {
    for (int j = 0; j < 3; j++) {
        if (i == 1 && j == 1) {
            System.out.println("条件クリア!外側ループごと抜けます");
            break outer;
        }
    }
}

outer:でラベルを付け、break outer;で外側ごと抜けられる。
ただし、やりすぎると読みづらくなるので注意。


3. for文でモヤっとする場面

「名前が“ピ”で始まるポケモンを探して、昇順に並べ、3件だけ表示」
これをfor文で書くと:

List<String> result = new ArrayList<>();
for (String name : pokemonList) {
    if (name.startsWith("ピ")) {
        result.add(name);
    }
}
Collections.sort(result);
for (int i = 0; i < Math.min(3, result.size()); i++) {
    System.out.println(result.get(i));
}

抽出・並べ替え・制限がバラバラで、全体の流れが見えづらい。


4. Java Streamに触ってみよう

Java 8以降ならこう書ける:

pokemonList.stream()
    .filter(name -> name.startsWith("ピ"))
    .sorted()
    .limit(3)
    .forEach(System.out::println);
  • .filter():条件に合うものだけ残す
  • .sorted():並び替え
  • .limit(3):先頭3件まで
  • .forEach():処理を実行

上から下へ、やりたいことがそのまま流れとして読めるのが魅力。


5. 実務での使い分けヒント

ケース for文 Stream
単純な繰り返し
条件やネストが複雑
加工や集計が多い
とにかく速さ優先

6. まとめ

  • for文はシンプルな処理に強い
  • Streamは加工や抽出、集計をまとめて読みやすく書ける
  • 「読みやすさ」か「性能」か、状況に合わせて選ぼう

あとがき

ここまで読んでくれて、本当にありがとうございました。

「プログラミングって難しい…」って思ってた人も、
「ちょっと楽しいかも…!」って思ってもらえたらうれしいな。

次の投稿も、よろしくおねがいします。

💬 コメント・フィードバック歓迎!

「この章わかりやすかった!」
「これ表現まちがってない?」
「次は○○をやってほしい!」などなど、
お気軽にコメントで教えてくださいね!


24
10
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
24
10

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?