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 에서 찾을 수 있습니다 . 메이븐 기반의 프로젝트이기 때문에 그대로 임포트하고 실행하기 쉬워야 합니다.

Junit footer banner