반응형
저번 포스팅에서 배열을 리스트로 변환하는 것을 알아보았는데요!
오늘은 리스트를 배열로 변환하는 법을 알려드리겠습니다~
List 클래스에 toArray() 함수 이용
package project;
import java.util.ArrayList;
import java.util.List;
public class Main {
public static void main(String[] args) {
List<Integer> list1 = new ArrayList<Integer>();
list1.add(1);
list1.add(2);
list1.add(3);
System.out.println("****변환전 LIST****");
for(Integer integer : list1){
System.out.println(integer);
}
/*Array toArray 이용*/
Integer arr[] = list1.toArray(new Integer[list1.size()]);
System.out.println("****변환후 Array****");
for(int i=0; i<arr.length; i++){
System.out.println(arr[i]);
}
}
}
ArrayList 클래스 안에 있는 toArray() 함수를 이용하면 리스트를 배열로 변환 가능합니다.
파라미터 인자로는 변환할 배열의 타입과 동일한 (배열) 객체를 생성하여 넣어주면 됩니다.
배열 사이즈는 원본 리스트 사이즈로 설정하면 됩니다!
(참고, 이 방법은 Primitive 타입으로는 변환 불가 >> Wrapper class 용도)
[ArrayList toArray()]
위에 내용을 간단히 정리하면
만약, 입력받은 파라미터의 배열 객체가 원본 리스트보다 작은 경우 (파라미터 배열 SIZE < 원본 리스트 SIZE)
=> 원본 리스트 SIZE 크기로 배열을 생성함
반대로, 원본 리스트보다 작은 경우 (파라미터 배열 SIZE > 원본 리스트 SIZE)
파라미터로 전달받은 배열 객체의 길이가, 원본 리스트보다 큰 경우 배열을 더 크게 만들어주며 나머지 인덱스 부분은 NULL로 생성
반응형
반복문 이용
package project;
import java.util.ArrayList;
import java.util.List;
public class Main {
public static void main(String[] args) {
List<Integer> list1 = new ArrayList<Integer>();
list1.add(1);
list1.add(2);
list1.add(3);
System.out.println("****변환전 LIST****");
for(Integer integer : list1){
System.out.println(integer);
}
/*반복문 이용*/
int arr[] = new int[list1.size()];
System.out.println("****변환후 Array****");
for(int i=0; i<arr.length; i++){
arr[i] = list1.get(i);
System.out.println(arr[i]);
}
}
}
위에 ArrayList의 toArray() 함수는 Primitive 타입으로는 변환이 불가하다 그러면 어떻게 해야 할까?
방법은 가장 단순하게 새롭게 배열을 만들어주고, 반복문으로 1:1 매핑만 해주면 된다! (쏘심플)
오늘은 리스트를 배열로 변경하는 법 정리해보았습니다~
감사합니다!
반응형
'💻 IT > 📌 Java' 카테고리의 다른 글
[Java] Queue 란? Java Queue 사용법 (6) | 2022.04.05 |
---|---|
[Java] Stack 이란 ? 스택(Stack) 사용법 (4) | 2022.04.01 |
[JAVA] Array To List :: 배열을 리스트로 변환하는 방법 (6) | 2022.03.29 |
[JAVA] char to int, int to char :: char를 int로 변환하기, int를 char로 변환하기 (8) | 2022.03.22 |
[JAVA] JVM, JRE, JDK 차이점 :: 용어는 비슷하지만 용도는 다르다! (2) | 2022.03.20 |