IntStream

조영민·2023년 3월 10일

java

목록 보기
1/24

IntStream
코딩테스트 문제를 풀며 새로운 반복문에 대해 알게되었다.
for문, while문 보다 가독성이 좋은 IntStream에 대해 알아보자.

		int arr[];
        if (n % 2 == 0){
            arr = new int[n/2];
        }else{
            arr = new int[n/2+1];
        }

        int j = 0;
        for(int i = 1; i <= n; i++){
            if(i % 2 == 1){
                arr[j++] = i;
            }
        }

위와 같이 길고 가독성이 좋지 않은 코드를 IntStream 아래와 같이 사용할 수 있다.

int arr[] = IntStream.rangeClosed(1,n).filter(value -> value % 2 != 0).toArray();

IntStream.range(int n, int m)는 n에서 m사이의 int를 차례대로 스트림으로 방출한다.

이 때 두 번째 파라미터는 범위를 포함하지 않는데, 이때 rangerClosed()를 사용하도록 한다.
IntStream.rangeClosed(int n, int m)
range()와 차이는 두 번째 파라미터를 포함하냐의 차이이다.

profile
노젓는 개발자

0개의 댓글