배열과 리스트의 차이점이 있다는 사실은 알았지만, 구체적으로 알지 못했다. 이를 쉽게 설명한 유투브가 있어 참조하게 되었다.
아래 그림에서 array[0]과 list[0]의 값은 둘 다 동일하게 주소값을 찾아감
하지만, array[3]과 list[3]의 값을 찾아가는 과정은 어떨까?
array는 주소값이 순차적으로 지정되기 때문에 바로 주소를 찾아가면 됨
list는 주소값이 순차적으로 지정되어 있지 않기 때문에 맨 처음의 주소로 가서 저장되어있는 다음 주소값을 토대로 3번째 인덱스를 찾아나감
즉, list는 주소값을 하나하나 찾아가야 한다는 단점이 발생
그렇다면 굳이 왜 list를 쓰는 것일까? 당연히 장점도 있다!
1번째 인덱스 값인 8을 지웠다고 가정해볼 때,
array는 메모리 공간이 그대로 남아 있어 낭비가 발생함
그러나, list는 다음 인덱스의 주소를 알려주는 포인터 값만 변경됨
즉, array에 비해 list가 더 효율적으로 메모리를 사용
장점
단점
장점
단점