배열 메모리의 연속된 공간에 값이 채워져 있는 형태의 자료구조. 인덱스를 통하여 참조할 수 있다. 새로운 값을 삽입하거나 특정 인덱스에 있는 값을 삭제하기 어렵다. 값을 삽입하거나 삭제하려면 해당 인덱스 주변에 있는 값을 이동시키는 과정이 필요하기 때문. (배열은 연속되어야 하기 때문!) 배열의 크기는 선언할 때 지정할 수 있으며, 한 번 선언하면 크기를 늘리거나 줄일 수 없다. 리스트 인덱스가 없다. 값에 접근하려면 Head 부터 순서대로 접근해야 한다. 따라서, 값에 접근하는 속도가 느리다. 데이터를 삽입하거나 삭제하는 연산 속도가 빠르다. 리스트의 크기는 정해져 있지 않으며, 크기가 변하기 쉬운 데이터를 다룰 때 적절하다. 포인터를 저장할 공간이 필요하므로 배열보다 구조가 복잡하다. String t..