[Java] List의 toArray 사용방법

박수민·2024년 8월 4일

List를 Array로 형변환

Java에서 List를 Array로 변환해야 하는 상황이 종종 발생합니다.
이를 위해 for문을 사용할 수 있지만, 이 방식은 번거롭고 코드가 길어지는 단점이 있습니다.
Java의 toArray 메서드를 사용하면 더 간단한 방법으로 변환할 수 있습니다.
이번 글에서는 for문과 toArray 메서드를 사용하여 List를 Array로 변환하는 방법을 비교해보겠습니다.

1. for문을 사용한 변환

List<String> list = new ArrayList<>();

// 예제 데이터
list.add("apple");
list.add("banana");
list.add("cherry");

String[] arr = new String[list.size()];
for (int i = 0; i < list.size(); i++) {
    arr[i] = list.get(i);
}
return arr;
  • 위 방법은 기본적이고 명시적이지만, 코드가 길어지고 반복문을 사용해야 한다는 단점이 존재합니다.

2. toArray 메서드를 사용한 변환

2-1. 기존 배열을 전달하여 변환

List<String> list = new ArrayList<>();
// 예제 데이터
list.add("apple");
list.add("banana");
list.add("cherry");

String[] arr = new String[list.size()];
return list.toArray(arr);
  • toArray 메서드에 기존 배열을 전달하여 리스트를 배열로 변환합니다. 기존 배열이 리스트의 크기와 동일하거나 크기가 클 경우, 해당 배열에 요소를 저장하고 반환합니다. 만약 배열의 크기가 작을 경우, 새로운 배열을 생성하여 반환합니다.

2-2. 새로운 배열을 생성하여 변환

List<String> list = new ArrayList<>();
// 예제 데이터
list.add("apple");
list.add("banana");
list.add("cherry");

String[] arr = list.toArray(new String[0]);
return arr;
  • 이 방법은 toArray 메서드에 new String[0]을 전달하여 리스트의 크기에 맞는 새로운 배열을 생성하고 반환합니다. 이 방식은 코드가 더욱 간결해지고, 배열의 크기를 미리 알 필요가 없다는 장점이 있습니다.

결론

List를 Array로 변환할 때는 for문 대신 toArray 메서드를 사용하는 것이 더 효율적이고 간결합니다. 추가로, toArray(new String[0])을 사용하면 리스트의 크기에 정확히 맞는 배열이 생성되기 때문에 성능 면에서 약간의 이점이 있을 수 있습니다. 상황에 따라 적절한 방법을 선택하여 사용하시기 바랍니다.

0개의 댓글