Java - ArrayList 생성때 크기를 지정

춤추는개발자·2022년 11월 30일
0

Java 정리

목록 보기
45/59
ArrayList list = new ArrayList(100);

위와 같이 ArrayList를 생성할때 괄호 안에 값을 왜 집어 넣어야 하지?
이런생각을 했다. 크기를 정하고 ArrayList를 생성해도 추가해야할 요소가 있다면 요소 추가가 가능했기 때문이다.
그럼 굳이 정해야 하나? ()에 아무 값도 넘겨주지 않고 생성해주면 기본적인 크기가 10이 들어간다.
미리 어느정도의 요소가 들어올지 예상해 그 값보다 조금만 여유롭게 값을 넘겨주어 생성하지 않고 그냥 일단 생성하고 추가적으로 요소를 추가하는 방법이 가능하지만 자동적으로 크기를 늘리면서 기존의 인스턴스에서 늘리는것이 아니라 새로 늘어난 인스턴스를 생성하고 새로 생성한 인스턴스로 기존의 인스턴스에 있던 데이터를 복사해야 하기 때문에 그 과정에서 처리시간이 많이 소요된다는 것을 공부하면서 알게 되었다. 하지만 그렇다고 기존의 인스턴스에서 요소가 추가되어 새로운 인스턴스를 생성해야 하는 과정을 줄이기 위해 처음부터 배열의 크기를 크게 생성하면 비효율적인 메모리 사용을 가져올수 있다.
궁금해하지 않았으면 생성할때 크기를 미리 지정하든 안하든 이유를 모르고 ArrayList를 사용하지 않았을까 싶다.

ArrayList를 생성할때 저장할 데이터의 개수를 잘 고려하여 크기를 정해 인스턴스를 생성하는 것이 좋다.

0개의 댓글