우리의 가장 큰 목적은 답을 형식에 맞춰서 내보내는 것이다. 보통 Stream()객체를 감싸서 toArray(), toList()를 하기는 하나, 가장 기본적인 방법은 알고 위의 Stream() 객체를 이용하도록 하자. 가장 기본은 다음과 같이 for-loop를 돌면서 전반적으로 알맞는 객체 구조에 넣어주는 것이다.

[(Reference Type & Dynamic Array) → (Primitive Type & Static Array)]

//변환 (stream을 제대로 익혀보자)
int[] answer = new int[answerList.size()];
for(int i=0; i<answerList.size(); i++){
    answer[i] = answerList.get(i);
}

혹여나 stream()으로 하는 방법이 기억나지 않는다면 위의 방법은 기억하고 있자.

<aside> 💡 1. Stream을 이용한 변환

</aside>

ArrayList.stream().mapToInt(i->i).toArray();

ArrayList에서 Array로 변환할때는 WrapperClass로 변환된다.

//Boxing, Unboxing 개념
List<Integer> intList = new ArrayList<Integer>();

intList.add(1);
intList.add(2);
intList.add(3);

//공식적으로 제공하는 방식 (arrayList to Array)
Integer[] intgerArray = intList.toArray(new Integer[intList.size()]); 
//toArray하면 Intger[] WrapperClass(Rreference Type) array로 받아올수 밖에 없다.
//이것을 기본형 (Primitive Type) array로 변환시키기 위해서 Unboxing을 해줘야 한다.

참고 블로그 - Wrapper Class to Primitive type

[Conversion - Array to ArrayList, ArrayList to Array]

package Conversion;

import java.util.ArrayList;
import java.util.List;

public class ConversionArrayAndArrayList {

	public static void main(String[] args) {
		List<Integer> intList = new ArrayList<Integer>();

		intList.add(1);
		intList.add(2);
		intList.add(3);

		//size만큼 지정하고 for문돌리면서 넣기
		Integer[] intgerArray = new Integer[intList.size()];
		
		for(int i=0; i<intList.size(); i++) {
			intgerArray[i] = intList.get(i);
			System.out.println(intgerArray[i]);
		}
		
		//ArrayList.toArray 메소드 사용하기 (toArray(들어갈 array형식과 사이즈가 들어가야 한다))
		Integer[] intArray = intList.toArray(new Integer[intList.size()]);
		
		for(Integer integer: intArray) System.out.println(integer);
		
		//Wrapper Class Array to Primitive Class Array
		int[] intarrayHo =  new int[intList.size()]; // new로 Heap영역에 메모리를 올릴때는 항상 array size정해줘야 한다
		int size=0;
		for(Integer integer: intArray) {
			//intarrayHo[size] = (int) integer;
			intarrayHo[size] = integer.intValue();
			size++;
		}
		
		for(int in: intarrayHo)	System.out.println(in);

	}

}

블로그 - Array to ArrayList, ArrayList to Array

[Static array & Primitive Type → Dynamic Array & Reference Type]