개발자/JAVA 문법 정리
[Java] List를 배열로 변환하는 방법
푸루닉
2022. 11. 27. 21:59
프로그래머스 문제를 풀다보면 매우 많은 배열 문제를 마주친다.
주로 배열로 반환을 하라고 하는데, 배열로 풀기에 불편한 점이 아주 많다.
(배열의 길이가 답마다 달라질때)
이럴 경우 list를 이용하여 문제를 푼 후 배열로 변환하는 것이 가장 효과적이었는데
배열로 변환하는 방법은 2가지가 존재한다.
static class Solution {
public int[] solution(int n) {
List<Integer> answer = new ArrayList<Integer>();
for(int i=0; i <= n; i++) {
if(i % 2 != 0) {
answer.add(i);
}
}
// 전통적인 방법의 list -> array 변환
// int[] answer = new int[list.size()];
// for(int i =0; i < list.size(); i++) {
// answer[i] = list.get(i);
// }
// stream API (JAVA8 이상)
return answer.stream().mapToInt(a -> a).toArray();
}
}
}
1. 전통적인 방법
- 배열의 길이 = list.size()
- for문을 이용하여 배열안에 값 삽입
2. Stream API 사용
- 배열이름.stream().mapTo(자료형)(변수 - > 변수(앞과동일)).toArray();
- 변수의 경우 아무 이름 사용가능 x -> x , a -> a