# IntStream을 이용한 반복문
Stream이란 다양한 데이터를 표준화된 방법으로 다루기 위한 라이브러리이며 자바8부터 추가되었다.
여러 종류(LongStram, DoubleStream...)의 스트림이 있다.
IntStream을 이용하여 반복문을 처리하게 되면 코드가 줄고 가독성이 좋아진다.
그렇지만 모든 상황에서 IntStream을 사용하는 것 보단 상황에 따라 적절한 반복문을 쓰는 것이 필요하다.
for & IntStream
- 일반적인 for문
public coid loop()
{
for(int i = 1; i <= 0; i++)
{
System.out.println(i);
}
}
- IntStream을 이용한 반복문
for문과 달리 단 한줄로 표현이 가능하다. 다만 range를 이용하게 되면 두번째 파라미터에
범위는 포함하지 않으므로 1~9까지만 출력된다. (System.out::println은 람다표현식이다.)
두번째 파라미터 값까지 포함시키려면 range를 rangeClosed로 변경하면 된다.
Intstream은 한번 실행하면 중간에 break문을 만나도 빠져나가지 않고 끝까지 실행한다.
public void intStream_range()
{
IntStream.range(1, 10).forEach(System.out::println);
}
['1 ~ 10까지 출력하는데 5일때는 출력하지 않는다' 라는 조건을 만족하는 반복문을 만들어보자.]
for문
public void break()
{
for(int i=1; i<=10; i++){
if(i == 5){
break;
}
System.out.println();
}
}
결과
1
2
3
4
IntStream
중간에 return은 빠져나가는 것이 아닌 5값만 출력을 하지 않고 다음은 실행된다.
public void intStream()
{
IntStream.rangeClosed(1, 10)
.forEach(i => {
if(i == 5)
{
return;
}
System.out.println(i);
})
}
결과
1
2
3
4
6
7
8
9
10
'JAVA > JAVA2' 카테고리의 다른 글
[java2] #21 - Thread 제어 (우선순위설정, 동기화, 메서드) (0) | 2022.08.10 |
---|---|
[java2] #20 - Thread (스레드) (0) | 2022.07.28 |
[java2] #18 - final 키워드 (0) | 2022.07.27 |
[java2] #17 - Collection Framework(Set/List/Map), Iterator (0) | 2022.07.26 |
[java2] #16 - HashSet (0) | 2022.07.26 |