동일한 데이터 타입의 여러 데이터를 하나의 변수에 저장하며 각 요소는 인덱스를 통해 접근
- 장점
고정된 크기: 배열은 선언할 때 크기를 정해야 하므로 메모리 관리가 용이하며 크기가 변경되지 않기 때문에 오버헤드가 적음
빠른 접근: 메모리 공간이 연속적이고 물리주소와 논리주소가 동일하므로 인덱스를 사용하여 요소에 직접 접근하기 때문에 빠름 (인덱스를 사용할 수 있어 시간복잡도(Time Complexity)가 O(1) 임) - 단점
고정된 크기: 크기를 변경하기 어렵고 요소를 추가하거나 제거하려면 새로운 배열을 생성하고 기존 데이터를 복사해야 하므로 새로운 배열을 이동시키는데에는 O(n)의 시간복잡도가 소요됨
메모리 낭비: 배열은 크기를 미리 정해야 하므로 필요한 메모리보다 많은 메모리를 할당할 수 있음
인덱스 오류: 잘못된 인덱스를 사용하면 런타임 에러가 발생할 수 있음
public class ArrayTest {
public static void main(String[] args) {
int[] numbers;
// 배열 초기화 (크기 지정)
numbers = new int[5];
numbers[0] = 10;
numbers[1] = 20;
numbers[2] = 30;
numbers[3] = 40;
numbers[4] = 50;
int value = numbers[2];
System.out.println("numbers[2]의 값: " + value);
// 배열 초기화 (크기 지정)
char[] characters = new char[]{'1','2','3','4','5'};
char charValue = characters[2];
System.out.println("characters[2]의 값: " + charValue );
}
}
'learn > data structure' 카테고리의 다른 글
데크 (Deque) (0) | 2023.09.24 |
---|---|
큐 (Queue) (0) | 2023.09.24 |
스택 (Stack) (0) | 2023.09.24 |
연결 리스트 (Linked List) (1) | 2023.09.24 |
자료구조 (Data Structure) (0) | 2023.09.23 |