개발 공부

Java에서 Array 와 ArrayList 의 변환법

준군 2020. 9. 29. 11:43

이번 글에서는 Array를 ArrayList로 변환 하는 방법과 ArrayList를 Array로 변환 하는 방법에 대해 알아보고자 한다.

 

ArrayList -> Array

 

 

List 인터페이스를 보면 toArray 라는 메소드가 있는데, 기본 생성자는 object 배열을 반환한다. 하지만 우리가 원하는 것은 정해진 타입의 배열이여서 toArray의 인자로 원하는 타입의 배열을 넣어준다. 마지막 줄에는 deepToString 메소드를 써서 배열을 문자열로 보여준다. 여기서 toString 메소드를 써도 되지만 toString은 1차원 배열만 지원한다는 것을 알자.

 

 

Array -> ArrayList

 

 

위에서 만들어놨던 Array를 그대로 써서 ArrayList로 변환 하는 과정이다. 여기서 중요한 것은 왜 21번 줄에서 Arrays.asList(array) 만 쓰지 않고 ArrayList 오버로딩 생성자를 만들었냐이다. Arrays 클래스 API에 기재되어있는 asList 메소드를 보면 이렇게 기재되어 있다.

이 뜻은 정해진 사이즈의 List를 반환 한다는 것이다. 그래서 ArrayList 생성자를 써야지만 위와 같이 add 메소드를 써줄 수 있다.