ArrayList -> Array
✔ String ArrayList -> String Array
List<String> list = new ArrayList<>();
String[] arr = list.toArray(new String[0]);
✔ Integer ArrayList -> Integer Array
List<Integer> list = new ArrayList<>();
Integer[] arr = list.toArray(new Integer[0]);
- toArray(T[] a) : T 타입 배열을 반환.
- T는 값 타입이 될 수 없기 때문에 int, double, float와 같은 타입의 배열은 이 방법으로는 얻을 수 없음
- 파라미터 a의 길이는 0으로 지정하면 알아서 list의 길이에 맞게 조정되어 arr에 저장됨
+
List<Integer> list = new ArrayList<>();
int[] arr = list.stream()
.mapToInt(Integer::intValue)
.toArray();
✔ Integer ArrayList -> int Array ⭐⭐⭐⭐⭐
List<Integer> list = new ArrayList<>();
// 방법 1
int[] arr1 = new int[list.size()]
for (int i = 0 ; i < list.size() ; i++)
arr1[i] = list.get(i).intValue();
// 방법 2
int[] arr2 = list.stream()
.mapToInt(i -> i)
.toArray();
// 방법 3
int[] arr3 = list.stream()
.mapToInt(Integer::intValue)
.toArray();
// 방법 4
int[] arr4 = list.stream()
.filter(i -> i != null)
.mapToInt(i -> i)
.toArray();
}
- int형과 같은 primitive 타입은 toArray()를 사용할 수 없음 ⭐