자료구조

JAVA자료구조(2)

mincom1224 2025. 8. 14. 23:39

오늘은 자바 자료구조중 가장 기초적인 배열을 알아보자.

배열은 가장 기본적이고 단순한 자료구조로, 같은 타입의 데이터를 연속된 메모리 공간에 저장합니다. 자바에서 배열은 한 번 크기를 지정하면 변경할 수 없는 고정 길이를 가지며, int[], String[]처럼 다양한 타입으로 만들 수 있습니다.
배열의 주요 특징은 인덱스 기반 접근입니다. 첫 번째 원소는 인덱스 0, 마지막 원소는 length-1로 접근합니다.

int[] numbers = {10, 20, 30};
System.out.println(numbers[1]); // 20

이런식으로 간단한 배열을 선언 할수있고, 인덱스를 통해 접근할 수 있다.

단, 이러한 배열은 리스트와 다르게 정적인 크기를 가진다.

배열의 장점은 접근 속도가 매우 빠르다는 것입니다. **O(1)**의 시간 복잡도로 원하는 위치의 데이터를 읽고 쓸 수 있습니다. 하지만 삽입과 삭제가 비효율적일 수 있습니다. 예를 들어 중간에 데이터를 넣으려면 나머지 원소들을 모두 이동시켜야 하므로 **O(n)**의 시간이 소요됩니다.
배열은 크기가 고정되므로, 상황에 따라 동적 크기 조절이 가능한 자료구조(예: ArrayList)로 대체하는 경우가 많습니다. 하지만, 고정 크기이고 메모리 배치가 연속적이기 때문에 CPU 캐시 효율이 좋고, 속도가 중요한 환경(예: 알고리즘 문제 풀이)에서는 여전히 널리 사용됩니다.

'자료구조' 카테고리의 다른 글

자바 자료구조(3)  (1) 2025.08.15
JAVA배열(1)  (3) 2025.07.17