# List <-> Array 간 형변환 ### 1. List → Array 형변환
List 타입 변환 방법
`List` `list.toArray(new String[0])`
`List` `list.toArray(new Integer[0])`
`List``int[]` 반복문으로 수동 변환 필요
##### 1) List → Array (참조형, 예: Integer, String 등) - toArray() 메서드로 변환이 가능하다. ```java List list = Arrays.asList("a", "b", "c"); String[] arr = list.toArray(new String[0]); ``` - list.toArray(new String\[0\]): 타입을 명시한 배열로 변환 - new String\[0\]은 사이즈가 0이어도 자동으로 맞춰준다. ```java List list = Arrays.asList(1, 2, 3); Integer[] arr = list.toArray(new Integer[0]); ``` ##### 2) List → Array (기본형, 예: int) - Java의 List<Integer>는 int\[\]로 직접 변환 불가능 - 직접 반복문으로 넣어줘야 한다. ```java List list = Arrays.asList(1, 2, 3); int[] arr = new int[list.size()]; for (int i = 0; i < list.size(); i++) { arr[i] = list.get(i); // 언박싱 자동 수행 } ``` --- ### 2. Array → List 형변환
변환 방법
`String[]` `Arrays.asList(arr)`
`Integer[]` `Arrays.asList(arr)`
`int[]` `Arrays.stream(arr).boxed.collect(Collectors.toList())`
##### 1) 참조형 배열 → List (예: String\[\], Integer\[\] 등) ```java String[] arr = {"a", "b", "c"}; List list = Arrays.asList(arr); ``` - Arrays.asList()는 배열을 고정 크기 리스트로 바꿔준다. - 추가/삭제는 불가능 → 변경 가능한 리스트로 바꾸려면 ```java List modifiableList = new ArrayList<>(Arrays.asList(arr)); ``` ##### 2) 기본형 배열 → List (예: int\[\], double\[\] 등) - 자바의 int\[\]는 바로 List<Integer>로 바꿀 수 없다. - Stream + boxed()를 활용한다. ```java int[] arr = {1, 2, 3, 4}; List list = Arrays.stream(arr) // IntStream 생성 .boxed() // int → Integer (박싱) .collect(Collectors.toList()); ```