CS/Data Structure
[CS][Data Structure] 동적 배열 (ArrayList)
Jyuni
2023. 8. 17. 23:04
ArrayList란?
ArrayList란 배열의 크기를 가변할 수 있는 자료구조 입니다. 일반 배열을 사용하여 구현하되, 배열 크기를 동적으로 조절할 수 있도록 추가되었습니다. 따라서 요소가 추가되거나 제거할 수 있기 때문에 유연하게 크기를 재조정할 수 있습니다.
대부분의 프로그래밍 언어에서는 ArrayList와 같은 동적 배열을 제공하며, Java에서는 ArrayList클래스, Python에서는 list 클래스를 사용할 수 있습니다.
ArrayList 특징
동적 크기 조절
배열과 달리 ArrayList는 크기를 동적으로 조절할 수 있습니다. 요소가 추가되거나 제거되면 크기가 자동으로 조정됩니다.
빠른 검색
기본 배열과 마찬가지로 인덱스를 활용하여 요소에 빠르게 접근할 수 있으므로 O(1)의 시간 복잡도를 가집니다.
데이터 삽입 및 삭제
기본 배열과 동일하게 데이터를 삽입 및 삭제 시 기존 요소를 이동해야 하기 때문에 O(n)의 시간 복잡도를 가집니다.
ArrayList 활용
동적 데이터 관리
크기가 고정되어 있는 배열에서 처리하기 어려운 크기가 가변하는 데이터 집합을 관리할 수 있습니다.
사용 편의성
개발 시 크기 조정에 대한 염려 없이 효율적으로 개발할 수 있습니다.
복잡한 알고리즘
ArrayList는 데이터 조작과 정렬, 검색 등 다양한 알고리즘에 쉽게 사용할 수 있으며, 배열처럼 빠른 처리 속도를 가집니다.