Published 2022. 9. 23. 01:16
Arrays.asList()

 

일반 배열을 ArrayList 구조로 바꾸는 메소드

 

List<String> list = Arrays.asList(arr);

이 방식을 사용하면 원본 배열의 주솟값을 가져옴

따라서 수정하면 원본의 데이터도 바뀌게 된다.

 

List자료구조는 set(),get(),contains()메소드를 가지고 있기에 이 메서드들은 사용 가능하지만

원소를 추가,삭제하는 메서드는 가지고 있지 않다.

 

따라서 새로운 원소를 추가하거나 삭제할 수 없다.(배열의 길이를 바꿀 수 없다.)

list.add("hi") //불가능

List.set(1,"hi") //가능. 2번째 인덱스 원소를 "hi" 로 수정

 

Array.asList()는 배열의 내용을 수정할 때 List로 바꿔 편리하게 사용하기 위함

 

 

new ArrayList<>()

 

진짜 ArrayList를 받기 위해서는

생성자를 불러와 새 인스턴스를 만들어주면 된다

List<String> list = new ArrayList<String>(Arrays.asList(arr));

ArrayList 생성자는 java.util.Arrays.ArrayList의 상위 클래스인 collection type도 받아들일 수 있음

 

이때는 원본과 다른 새 주솟값을 갖게 된다.

 

이제 데이터의 추가,삭제가 가능하다.

 

 

 

 

따라서, 배열의 크기가 변하면 안 되거나 변할 필요가 없을 때 Arrays.asList()를 사용하는 것이 좋다.

 

복사했습니다!