JAVA에서 배열을 리스트로 변환하는 도중에 생긴 일
알고리즘 문제를 풀다보면 배열 그대로를 사용하는 것보다 리스트로 변환해서 사용하는게 편할 때가 있다.
아주 쉬운 문제여서 자연스럽게 컨버트 하려는 순간 오류가 났다.
Array to List
public List solution(int[] phone_book) {
List list = Arrays.asList(phone_book);
System.out.println(list.get(1));
return list;
}
이런 식의 변환은 non primitive 타입에 대해서만 가능한 변환이였다.
그래서 int 형을 어떻게 변환 하는지 찾아보니...
public List solution(int[] phone_book) {
List list = Arrays.stream(phone_book).boxed().collect(Collectors.toList());
System.out.println(list.get(0));
return list;
}
이러한 형태로 바뀌었다.
boxed라는 함수는 primitive 요소를 non primitive 요소로 박싱을 해준다.
자바 스트림을 사용하기 싫다면 형변환 자체를 Integer로 바꿔줘도 된다.
(하지만... 변환 하나를 위해서 전체 코드의 형을 변경하는건 비효율적일듯...)
정말 간단하다고 생각했던 변환도 생각지도 못한 오류가 발생하는 걸 보니...
아직도 공부가 많이 필요한것 같다. (꾸엥)
Author And Source
이 문제에 관하여(JAVA에서 배열을 리스트로 변환하는 도중에 생긴 일), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다 https://velog.io/@chb1828/자바-배열을-리스트로-리스트를-배열로-변환하는-방법저자 귀속: 원작자 정보가 원작자 URL에 포함되어 있으며 저작권은 원작자 소유입니다.
우수한 개발자 콘텐츠 발견에 전념 (Collection and Share based on the CC Protocol.)