Java에서 배열과 목록 간 변환

1. 개요

이 빠른 기사는 핵심 Java 라이브러리, Guava 또는 Apache Commons Collections를 사용하여 배열과 목록간에 변환 하는 방법을 보여줍니다 .

이 기사는 Baeldung에 대한 "Java – Back to Basic"시리즈의 일부입니다.

2. 목록 을 배열로 변환

2.1. 일반 자바 사용

일반 Java를 사용하여 List 에서 Array로 변환을 시작하겠습니다 .

@Test public void givenUsingCoreJava_whenListConvertedToArray_thenCorrect() { List sourceList = Arrays.asList(0, 1, 2, 3, 4, 5); Integer[] targetArray = sourceList.toArray(new Integer[0]); }

유의할 것으로 toArray (새 T [0]) 오버에있어서 사용하는 바람직한 방법이다 toArray (새로운 T [크기]) . Aleksey Shipilëv가 그의 블로그 게시물에서 증명했듯이 더 빠르고 안전하며 깔끔해 보입니다.

2.2. 구아바 사용

이제 동일한 변환에 Guava API 를 사용하겠습니다 .

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

3. 배열을 목록으로 변환

3.1. 일반 자바 사용

배열을 List 로 변환하는 일반 Java 솔루션부터 시작하겠습니다 .

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

이것은 여전히 ​​어레이에서 지원하는 고정 된 크기의 목록입니다. 표준 ArrayList 를 원한다면 간단히 인스턴스화 할 수 있습니다.

List targetList = new ArrayList(Arrays.asList(sourceArray));

3.2. 구아바 사용

이제 동일한 변환에 Guava API 를 사용하겠습니다 .

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

3.3. Commons 컬렉션 사용

마지막으로 Apache Commons Collections – CollectionUtils.addAll API를 사용하여 배열의 요소를 빈 목록에 채 웁니다.

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

4. 결론

이러한 모든 예제 및 코드 스 니펫의 구현은 GitHub에서 찾을 수 있습니다. 이것은 Maven 기반 프로젝트이므로 그대로 가져 와서 실행할 수 있어야합니다.