Study with me/프로그래머스 L0 마스터하기
프로그래머스 - L0 n개간격의원소들 // toArray()
외계나무
2023. 12. 12. 09:43
import java.util.*;
class Solution {
public int[] solution(int[] num_list, int n) {
List<Integer> answer = new ArrayList<>();
for(int i=0; i<num_list.length; i+=n) {
answer.add(num_list[i]);
}
return answer.stream().mapToInt(Integer::intValue).toArray();
}
}
연관 게시물 >> 프로그래머스 - L0 마지막두원소 // Array ↔ List
list.toArray()
List<String> stringList = new ArrayList<String>();
stringList.add("A");
stringList.add("B");
stringList.add("C");
String[] stringArray = stringList.toArray(new String[0]);
: List → Array 변환 메서드
예제에서 String 배열 인스턴스가 파라미터로 넘어가는데, size를 '0'으로 명시함. 왜?
- List를 toArray 메서드에 파라미터로 넘어가는 배열객체의 size만큼의 배열로 전환한다.
- 단, 해당 List size가 인자로 넘어가는 배열객체의 size보다 클때, 해당 List size로 배열이 만들어진다.
- 반대로 해당 List size가 인자로 넘어가는 배열객체의 size보다 작을때는, 인자로 넘어가는 배열객체의 size로 배열이 만들어진다.
여기서 위의 예제에서의 stringArray의 크기는 '3' 이다. 인자로 넘어가는 배열의 size가 '0'이므로, 원래 List size인 3 크기로 배열이 만들어짐. == List size 대로 배열의 크기를 맞추기 위해 배열객체의 size 자리에 0을 넣는 것.