IntStream.range. Suppose you want to operate on numbers in sequential order: 1, 2, 3. You could create an array and use a for-loop to get these numbers.
Alternatively, you can use IntStream.range with 2 arguments. The IntStream.rangeClosed method, which is almost the same, is also available.
An example. This program demonstrates IntStream.range and IntStream.rangeClosed. It creates the IntStreams and then displays them to the console.
Note Range has an exclusive end. So the second argument is not included in the IntStream that is returned.
Note 2 RangeClosed has an inclusive (closed) end. If the second argument is 15, the 15 is included.
import java.util.Arrays;
import java.util.stream.IntStream;
public class Program {
public static void main(String[] args) {
// Use IntStream.range.
IntStream range1 = IntStream.range(10, 15);
System.out.println("Range(10, 15): " +
Arrays.toString(range1.toArray()));
// Use IntStream.rangeClosed.
IntStream range2 = IntStream.rangeClosed(10, 15);
System.out.println("RangeClosed(10, 15): " +
Arrays.toString(range2.toArray()));
}
}Range(10, 15): [10, 11, 12, 13, 14]
RangeClosed(10, 15): [10, 11, 12, 13, 14, 15]
Some notes. Range() is a useful method. We can create a Stream and then operate upon it with IntStream-based methods like filter(). This is a powerful approach to solving problems.
A summary. Typically it is a better idea to create a range-based IntStream with range() and rangeClosed(). But an int array, and the Arrays.stream() method, can also be used.
Dot Net Perls is a collection of tested code examples. Pages are continually updated to stay current, with code correctness a top priority.
Sam Allen is passionate about computer languages. In the past, his work has been recommended by Apple and Microsoft and he has studied computers at a selective university in the United States.
This page was last updated on Dec 26, 2023 (edit).