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();
});
}
}
'java core' 카테고리의 다른 글
[java] 숫자(int)를 문자열(String)로 변경할 때, comma(,)도 같이 표현하고 싶을 때 (0) | 2016.03.07 |
---|---|
java8 + centos7 이슈 (0) | 2016.01.05 |
java8 ThreadLocal 초기화 (0) | 2015.12.14 |
[java8] List<Object>를 List<String>으로 변환하기 (0) | 2015.11.19 |
[java8] List 쪼개기 (split by fixed num) (0) | 2015.11.19 |