Java8で指定回数繰り返し

Java8からStreamAPIが利用できる。
StreamAPIを利用するとC言語の頃から利用されている下記のようなforループは書く必要がない。

for (int i = 0 ; i < 10 ; i++) {
    proc(i);
}

IntStreamを利用する

import java.util.stream.IntStream

IntStream.range(0, 10).forEach(i -> proc(i));

これで同様の処理が行える。
0から9までの10回。見慣れた感じだ。
配列の添え字は基本的に0から使うので、これで全く問題ない。

1〜10の場合は

出力用に1~10が欲しいときもある。従来の書き方であればこうだろうか。

for (int i = 1 ; i <= 10 ; i++) {
    System.out.println(i);
}

これで、1~10が出力される。StreamAPIを使うと

import java.util.stream.IntStream

IntStream.rangeClosed(1, 10).forEach(i -> {
    System.out.println(i);
});

rangeClosedを使うことで「10まで」と言うのがわかりやすく書ける。

まとめ

記述する文字数はStreamAPIを使った方が長くなってしまう気もするけど、やりたい事が伝わりやすいのはStreamAPIのような気がする。
開発標準がJava8以降になったら、順次導入していきたい。
(いまだにJava6が標準のシステムもメンテナンスしている)

同じタグの記事
同じカテゴリの記事

コメントを残す

メールアドレスが公開されることはありません。

CAPTCHA