간단하게 말해서 계산하기 쉬워서이다.
이것은 배열의 크기가 아무리 커도 빠른 속도로 해당 위치의 item을 가져올 수 있도록 한다.
자세히 알아보면
int[] numbers = {1 ,2, 3, 4, 5}
와 같은 배열은 두 가지 요소로 표현한다.
- 배열의 시작 주소
- 각 요소들의 size (여기서는 int이므로 4 bytes)
그림을 간단히 보면
이런 구조를 가지게 된다. 여기서 각 요소들의 시작 주소를 계산해보자.
이렇게 보면 첫 번째 요소도 1000 + 4 * 0과 같다.
이제 인덱스의 관점으로 보자 내가 배열의 4000번 째의 요소의 시작 주소를 알고 싶다면
1000 + 3999 * 4 (시작주소 + (인덱스 -1) * element size) 로 계산 한다면 곧 바로 해당 주소를 알 수 있다.
(속도가 굉장히 빠르게 조회할 수 있다!)
[ AWS ] Beanstalk 복구 시간 테스트 (2) | 2023.12.20 |
---|