배열과 리스트
:동일한 특성의 데이터들의 잡합을 가리키는 자료구조
둘의 가장 큰차이는 구조적 차이
Array : 연속된 메모리 공간에 할당됨
List : 메모리가 연속적인 공간에 있지 않고 다음 노드를 가리키는 주소값을 가짐.
Array
장점
- 구현이 쉽다.
- 인덱스가 있어 조회 성능이 뛰어남
- 연속된 메모리 공간에 할당되어 순차적 접근에도 빠름
- 참조를 위한 추가 메모리 할당이 필요 없음
단점
- 삽입/삭제 시 뒤에 모든 요소들이 이동해야 해서 비효율적
- 선언 시 지정한 크기 변경 불가
- 메모리 재사용 불가
List
장점
- 삽입/삭제 시 전후 노드의 참조 관계만 수정하면 되기 때문에 효율적
- 크기가 고정적이지 않음
- 메모리 재사용 가능(GC에 의해 가용 메모리로 전환)강
단점
- 구현이 상대적으로 복잡함
- 검색에 비효율 적임 (첫 노드부터 순차적으로 조회 해야함)
- 참조를 위한 메모리가 필요함
결론
-
저장할 데이터의 개수가 정해져 있고 / 삽입,삭제 작업이 적고 / 특정 위치의 데이터를 조회하는 작업이 많다만 Array
-
저장할 데이터의 개수가 미정이고 / 삽입, 삭제 작업이 많고 / 특정 위치 데이터를 조회하는 경우가 별로 없다면 List