List의 toArray() 메소드는 List를 배열(Array)로 변환할 때 사용한다.
리스트의 요소들을 Object 배열로 변환한다.
타입이 Object[]로 고정되므로, 형변환(casting)이 필요함.
import java.util.*;
public class Example {
public static void main(String[] args) {
List<String> list = Arrays.asList("apple", "banana", "cherry");
Object[] array = list.toArray();
for (Object obj : array) {
System.out.println((String) obj); // 형변환 필요
}
}
}
지정한 타입의 배열로 변환한다.
List<String> list = Arrays.asList("apple", "banana", "cherry");
String[] array = list.toArray(new String[0]);
System.out.println(Arrays.toString(array));
// 출력: [apple, banana, cherry]
List<String> list = Arrays.asList("apple", "banana", "cherry");
String[] array = new String[5];
String[] result = list.toArray(array);
System.out.println(Arrays.toString(result));
// 출력: [apple, banana, cherry, null, null]
📌 반환된 배열의 크기는 항상 입력된 배열과 같음
(단, 리스트 크기보다 작으면 새 배열을 생성)
1번의
String[] array = list.toArray(new String[0]);방식 추천!
ArrayList와 LinkedList도 java.util.List 인터페이스를 구현하고 있기 때문에 toArray() 메소드 사용 가능함.
import java.util.*;
public class ArrayListExample {
public static void main(String[] args) {
List<String> list = new ArrayList<>();
list.add("A");
list.add("B");
list.add("C");
String[] array = list.toArray(new String[0]);
System.out.println(Arrays.toString(array)); // [A, B, C]
}
}
import java.util.*;
public class LinkedListExample {
public static void main(String[] args) {
List<String> list = new LinkedList<>();
list.add("X");
list.add("Y");
list.add("Z");
String[] array = list.toArray(new String[0]);
System.out.println(Arrays.toString(array)); // [X, Y, Z]
}
}