세 자료구조를 한 문장으로 비교하자면 다음과 같다.
배열(Array)는 선언할 때 크기와 데이터 타입을 지정해야 한다.
즉, 한번 크기를 정하는 변경할 수 없다.
따라서 계속 데이터가 늘어날 때나, 최대 사이즈를 알 수 없을 때 사용하기에 부적합하다.
또한 중간에 데이터를 삽입,삭제할 때도 비효율적이다.
하지만 배열을 사용하면 index가 존재하기 때문에 검색에는 편리한 장점이 존재한다.
배열의 단점을 해결하기 위해 나온것이 List다.
List는 배열처럼 크기를 정해주지 않아도 된다. 대신 배열에서 index가 중요했다면 List에서는 순서가 중요하다.
데이터를 추가/삭제 시에 메모리를 재할당하기 때문에 속도가 배열보다 느리다.
(추가할 때 삽입될 자료만큼 크기를 늘리고, 뒤의 자료는 한칸씩 이동하기 때문)
데이터 추가/삭제가 용이하다.(한 노드에 연결될 노드의 포인터 위치를 가리키는 방식이기 때문)
그렇지만 임의의 데이터에 접근할 때 시간이 오래걸린다.
데이터 추가/삭제가 용이하기 때문에 큐(Queue)에 적합하다.