IntStream과 LongStream 에는 range와 rangeClosed 메소드를 지원한다. 이 둘로 범위를 지정할 수 있는데, Closed가 붙으면 끝 개수를 포함한다. 


다음은 결과 예제이다. 

import java.util.stream.IntStream;
import java.util.stream.LongStream;

public class IntStreamTest {
public static void main(String[] args) {

IntStream
.range(1, 10)
.forEach(System.out::println);

System.out.println("");

IntStream
.rangeClosed(1, 10)
.forEach(System.out::println);

System.out.println("");

LongStream
.range(10000000000L, 10000000001L)
.forEach(System.out::println);

System.out.println("");

LongStream
.rangeClosed(10000000000L, 10000000001L)
.forEach(System.out::println);
}
}




결과 


1

2

3

4

5

6

7

8

9


1

2

3

4

5

6

7

8

9

10


10000000000


10000000000

10000000001


Process finished with exit code 0




쓰레드 5개를 한번에 생성해서 돌리고 싶다면, IntStream.rangeClosed()를 다음과 같이 이용해서 사용할 수 있다. 

import java.util.stream.IntStream;

public class IntStreamIntStreamTest {
public static void main(String[] args) {
IntStream.rangeClosed(1, 5).forEach(i->{
new Thread(()->{
System.out.println("Test!");
}).start();
});
}
}


Posted by 김용환 '김용환'

댓글을 달아 주세요