자료구조&알고리즘

Array 와 List 의 차이

김검정 2023. 9. 8. 16:15

Array 와 List 의 차이는 무엇일까?

 

우선 Array

연속적인 메모리에서 같은 종류의 아이템들을 저장할 수 있는 자료구조다. [ ] 를 사용하여 인덱스를 활용할 수 있다. 

인덱스를 사용하면 사이즈가 얼마나 크던지 원하는 자료에 접근할때 걸리는 시간이 동일하다.

 

 

List 는 무엇일까?

순서를 가지며 추가, 삭제, 탐색이 가능한 ADT(Abstract Data Type) 이다. Array에 비해서 추상적이다 내부적으로 어떻게 동작하는지 알려주지 않는다. 

* ADT는 구조의 속성과 행위를 설명한다. 

 

따라서 

  • add
  • remove
  • get
  • contains

같은 operation을 사용 가능하다.

 

List는 어떻게 구현할 수 있을까?

  • Array (= ArrayList)
  • Linked node (= LinkedList) 

크게 두 가지를 사용하여 구현 가능하다. 

 

 

구현에 관점에서 List 는 ADT이고 안에 있는 ArrayList나 LinkedList 등이 자료구조라고 할 수 있다.