의문점 공부하기/📌 Java

📌 Array와 ArrayList의 차이점은!?

아리빠 2023. 7. 4. 11:03

Array:

  • Array는 고정된 크기를 가지는 자료구조, 배열을 생성할 때 크기를 지정하고, 그 크기가 변경되지 않는다.
  • 각 요소는 인덱스를 사용하여 접근할 수 있다. 인덱스는 0부터 시작하며, 인덱스를 통해 특정 위치의 요소에 접근할 수 있다.
  • Array는 기본 데이터 타입(int, double, char 등)이나 객체 타입(Object)을 저장할 수 있다.
  • Array의 크기는 메모리에 연속적으로 할당되므로, 접근 및 수정 시간이 일정하다.
  • Array의 크기를 변경하려면 새로운 Array를 생성하고 기존의 요소를 복사해야 한다

ArrayList:

  • ArrayList는 크기가 동적으로 조절되는 자료구조, 요소를 추가하거나 삭제할 때 크기가 자동으로 조절
  • ArrayList는 클래스로 제공되며, 제네릭을 사용하여 다양한 타입의 요소를 저장할 수 있다.
  • ArrayList는 내부적으로 Array를 사용하여 구현되어 있다. 크기가 변경될 때마다 새로운 Array를 생성하고 기존의 요소를 복사한다.
  • ArrayList는 인덱스를 사용하여 요소에 접근할 수 있으며, 요소를 추가하거나 삭제할 때 다른 요소들의 위치를 자동으로 조정한다.
  • ArrayList는 크기가 동적으로 조절되기 때문에 메모리 사용량을 최적화할 수 있다.

 

 

=> Array는 크기가 고정되고 접근 및 수정 시간이 일정

=> ArrayList는 크기가 동적으로 조절되고 요소 추가 및 삭제가 용이