Javaの範囲内の番号のリスト

1. 概要

このチュートリアルでは、範囲内の数字のシーケンスをリストするさまざまな方法を探ります。

2. 範囲内の番号のリスト

* 2.1。 従来の_for_ループ*

従来の_for_ループを使用して、指定された範囲の数値を生成できます。
public List<Integer> getNumbersInRange(int start, int end) {
    List<Integer> result = new ArrayList<>();
    for (int i = start; i < end; i++) {
        result.add(i);
    }
    return result;
}
上記のコードは、_start_(包括的)から_end_(包括的)までの数字を含むリストを生成します。

* 2.2。 JDK 8 IntStream.range *

JDK 8で導入された_IntStream_を使用して、特定の範囲の数値を生成し、_for_ループの必要性を軽減できます。
public List<Integer> getNumbersUsingIntStreamRange(int start, int end) {
    return IntStream.range(start, end)
      .boxed()
      .collect(Collectors.toList());
}

* 2.3。 IntStream.rangeClosed *

前のセクションでは、_end_は排他的です。 _end_が含まれる範囲の数値を取得するには、_IntStream.rangeClosed_があります。
public List<Integer> getNumbersUsingIntStreamRangeClosed(int start, int end) {
    return IntStream.rangeClosed(start, end)
      .boxed()
      .collect(Collectors.toList());
}

* 2.4。 IntStream.iterate *

前のセクションでは、範囲を使用して一連の数値を取得しました。 シーケンスに必要な数がわかったら、_IntStream.iterate_を利用できます。
public List<Integer> getNumbersUsingIntStreamIterate(int start, int limit) {
    return IntStream.iterate(start, i -> i + 1)
      .limit(limit)
      .boxed()
      .collect(Collectors.toList());
}
ここで、_limit_パラメーターは、反復する要素の数を制限します。

3. 結論

この記事では、ある範囲内の数値を生成するさまざまな方法を見ました。
コードスニペットは、いつものように、https://github.com/eugenp/tutorials/tree/master/java-numbers-2 [GitHubで]にあります。