Array(배열)
어떤 메모리 블록에 연속적으로 나열된 같은 유형의 변수 모음
연결 리스트와 비슷하게 선형적으로 저장하지만 원하는 인덱스를 알고 있을 경우 시간 복잡도의 차이가 있다. 배열은 동적인 자료구조가 아니며 유한하고 고정된 수의 원소로 이루어지기 때문에 일부만 사용하더라도 배열에 있는 모든 원소에 대해 메모리가 할당된다.
시간 복잡도
배열
연결 리스트
탐색
O(1)
O(n)
삽입
O(n)
O(1)
배열 선언과 생성
배열은 선언, 생성, 초기화 세 단계로 이루어진다.
배열 선언: 생성된 배열을 다루기 위한 참조변수 공간이 생성
배열 생성: 배열의 크기를 지정되면서 배열의 각 원소에 대한 메모리 공간이 생성
초기화: 배열의 각 원소에 값을 할당
생성만 한 뒤 값을 할당하지 않은 배열은 각 원소의 기본값으로 초기화된다.
type
default value
boolean
false
char
‘\u0000’ (null character)
byte, short, int, long
0
float, double
0.0
object
null
배열 참조와 복사
단순한 대입만으로 배열 원소를 복사할 수 없으며 두 배열의 유형이 같은 경우 한 레퍼런스를 다른 레퍼런스에 대입할 수 있다.
만약 한 배열의 내용을 다른 배열로 복사하고 싶은 경우 System.arraycopy
메소드를 사용하거나 반복문을 통해 복사할 수 있다.
다차원 배열
배열의 배열 형태로, 2차원 이상의 배열을 다차원 배열이라고 한다.
참고자료
Last updated
Was this helpful?