1. 개요
이 빠른 사용방법(예제)에서는 핵심 Java 라이브러리인 Guava 및 Apache Commons Collections를 사용하여 배열과 List 간에 변환 하는 방법을 배웁니다 .
이 기사는 여기 Baeldung 의 "Java – Back to Basic" 시리즈의 일부입니다.
2. List 을 배열로 변환
2.1. 일반 자바 사용
일반 Java를 사용하여 List 에서 Array 로의 변환부터 시작하겠습니다 .
@Test
public void givenUsingCoreJava_whenListConvertedToArray_thenCorrect() {
List<Integer> sourceList = Arrays.asList(0, 1, 2, 3, 4, 5);
Integer[] targetArray = sourceList.toArray(new Integer[0]);
}
이 방법을 사용하는 데 선호되는 방법은 toArray(new T[0]) 대 toArray(new T[size]) 입니다. Aleksey Shipilëv가 자신의 블로그 게시물 에서 증명했듯이 더 빠르고 안전하며 깨끗해 보입니다.
2.2. 구아바 사용
이제 동일한 변환에 Guava API 를 사용하겠습니다 .
@Test
public void givenUsingGuava_whenListConvertedToArray_thenCorrect() {
List<Integer> sourceList = Lists.newArrayList(0, 1, 2, 3, 4, 5);
int[] targetArray = Ints.toArray(sourceList);
}
3. 배열을 List으로 변환
3.1. 일반 자바 사용
배열을 List 로 변환하기 위한 일반 Java 솔루션부터 시작해 보겠습니다 .
@Test
public void givenUsingCoreJava_whenArrayConvertedToList_thenCorrect() {
Integer[] sourceArray = { 0, 1, 2, 3, 4, 5 };
List<Integer> targetList = Arrays.asList(sourceArray);
}
이것은 여전히 배열에 의해 지원되는 고정 크기 List입니다. 표준 ArrayList를 원하면 간단히 인스턴스화할 수 있습니다.
List<Integer> targetList = new ArrayList<Integer>(Arrays.asList(sourceArray));
3.2. 구아바 사용
이제 동일한 변환에 Guava API 를 사용하겠습니다 .
@Test
public void givenUsingGuava_whenArrayConvertedToList_thenCorrect() {
Integer[] sourceArray = { 0, 1, 2, 3, 4, 5 };
List<Integer> targetList = Lists.newArrayList(sourceArray);
}
3.3. 커먼즈 컬렉션 사용
마지막으로 Apache Commons Collections CollectionUtils.addAll API를 사용하여 빈 List의 배열 요소를 채우 겠습니다 .
@Test
public void givenUsingCommonsCollections_whenArrayConvertedToList_thenCorrect() {
Integer[] sourceArray = { 0, 1, 2, 3, 4, 5 };
List<Integer> targetList = new ArrayList<>(6);
CollectionUtils.addAll(targetList, sourceArray);
}
4. 결론
이러한 모든 예제와 코드 스니펫의 구현은 GitHub 에서 찾을 수 있습니다 . 메이븐 기반의 프로젝트이기 때문에 그대로 임포트하고 실행하기 쉬워야 합니다.