Coram Deo

자바 - 스트림(Stream) 본문

알고리즘 공부

자바 - 스트림(Stream)

탁탁슝 2023. 5. 29. 16:40
import java.util.stream.*;

class Solution {
    public int[] solution(int start, int end) {
        return IntStream.rangeClosed(start, end).toArray();
    }
}

IntStream.rangeClosed(start, end).toArray();

start에서 end까지 차례대로 생성 (특정 범위의 숫자를 차례대로 생성)

* rangeClosed 메소드는 종료값을 포함 O

toArray() - 배열로 변환

 

import java.util.Arrays;

class Solution {
    public int[] solution(int[] numList) {
        return Arrays.stream(numList).sorted().skip(5).toArray();
    }
}

stream 사용하면 코드가 간결해짐

stream() - 다양한 데이터 소스(컬렉션, 배열 등)를 표준화된 방법으로 다루기 위한 것

sorted() - 오름차순으로 정렬

skip() - 처리할 요소의 개수를 건너뛰고, 나머지 요소로 구성된 Stream을 반환함.

toArray() - 배열로 변환

 

import java.util.Arrays;

class Solution {
    public int[] solution(int[] num_list) {
        //int[] answer = {};
        Arrays.sort(num_list);
        int position = 5;
        int[] answer = Arrays.copyOfRange(num_list, position, num_list.length);

        return answer;
    }
}


int[] answer = Arrays.copyOfRange(answer, position, answer.length);

Arrays.copyOfRange() - 배열의 특정 영역을 복사하여, position 이후 배열 뒷부분 추출