今回はIntStreamクラスとLongStreamクラスにあるrangeメソッドとrangeClosedメソッドについて調べてみました。range/rangeClosedメソッドはある数値の範囲をStreamとして扱うものです。【range/rangeClosedメソッドの使い方】range/rangeClosedメソッドはstaticメソッドなので、IntStream.rangeのようにすれば使えます。戻り値はIntStream、LongStreamです。10).toArray();最初の引数に初期値、二番目の引数に終了値を渡します。二つのメソッドの違いは取得できる範囲が異なることです。}それぞれrange/rangeClosedで生成したStraemにたいしてforEachでコンソールに出力しているサンプルです。012345678910rangeの場合は終了値を含まず、rangeClosedの場合は終了値を含みます。{}と言うイメージです。【for文の置き換え】ということでfor文でカウンタ変数などを初期化するやり方をrange/rangeClosedで置き換えてみます。}これで同じ結果が得られます。range/rangeClosedメソッドを使ったほうが一行に書く量は増えていますが、IDEで補完できるのでそんなに手間でもないと思います。内部イテレータの外にある変数を変更できないのはメリットになるかと思います。【まとめ】range/rangeClosedを使ったほうが副作用は少なくできそうかなと言う印象です。場合によって適宜使い分けましょうと言う結論ですかね。月別アーカイブはてなブログをはじめよう!gloryofさんは、はてなブログを使っています。ブログを報告するスターをつけました引用をストックしましたストック一覧を見る閉じる引用するにはまずログインしてくださいログイン閉じる引用をストックできませんでした。再度お試しください閉じる限定公開記事のため引用できません。