Post

Java Array에서 List 변환

1. List를 Array로 변환

1) 일반 자바 사용

일반 Java를 사용하여 List에서 Array로 변환한다.

1
2
3
4
5
@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) 구아바 사용

동일한 변환을 위해 Guava API를 사용한다.

1
2
3
4
5
@Test
public void givenUsingGuava_whenListConvertedToArray_thenCorrect() {
    List<Integer> sourceList = Lists.newArrayList(0, 1, 2, 3, 4, 5);
    int[] targetArray = Ints.toArray(sourceList);
}

2. Array를 List로 변환

1) 일반 자바 사용

Array를 List로 변환하기 위한 일반 Java 솔루션이다.

1
2
3
4
5
@Test
public void givenUsingCoreJava_whenArrayConvertedToList_thenCorrect() {
    Integer[] sourceArray = { 0, 1, 2, 3, 4, 5 };
    List<Integer> targetList = Arrays.asList(sourceArray);
}

이것은 여전히 배열에 의해 지원되는 고정 크기 목록이다. 표준 ArrayList가 필요한 경우 간단하게 인스턴스화할 수 있다.

1
List<Integer> targetList = new ArrayList<Integer>(Arrays.asList(sourceArray));

2) 구아바 사용

동일한 변환을 위해 Guava API를 사용한다.

1
2
3
4
5
@Test
public void givenUsingGuava_whenArrayConvertedToList_thenCorrect() {
    Integer[] sourceArray = { 0, 1, 2, 3, 4, 5 };
    List<Integer> targetList = Lists.newArrayList(sourceArray);
}

3. Commons Collections 사용

Apache Commons Collections CollectionUtils.addAll API를 사용하여 빈 목록의 배열 요소를 채운다.

1
2
3
4
5
6
@Test 
public void givenUsingCommonsCollections_whenArrayConvertedToList_thenCorrect() { 
    Integer[] sourceArray = { 0, 1, 2, 3, 4, 5 }; 
    List<Integer> targetList = new ArrayList<>(6); 
    CollectionUtils.addAll(targetList, sourceArray); 
}

[출처 및 참고]

This post is licensed under CC BY 4.0 by the author.