SW Programming/C#

배열과 리스트

victoryAshe 2022. 7. 4. 23:33

배열과 리스트

  • 공통점: 동일한 데이터를 하나로 묶을 수 있는 자료형 (Type-Safe)
  • 차이점
    • 배열 Array: 동적 크기 할당 불가능, 연속된 메모리 공간으로 이루어짐 -> 메모리 관리 용이
    • 리스트 List: 동적 크기 할당 가능, 포인터를 사용해 데이터들의 주소값을 가지고 있음
      -> 메모리 측면에서는 비효율적 (∵ 불필요한 메모리 추가 사용)

배열과 리스트의 메모리 공간 사용 차이


[▲ 배열과 리스트의 메모리 공간 사용 차이]

ArrayList

배열과 리스트의 중간 형태라고 볼 수 있는 자료형.
동일하지 않은 데이터들도 묶을 수 있으나, 데이터를 꺼낼 때마다 박싱과 언박싱이 이루어져 비효율적!
-> List는 ArrayList를 보완한 자료형이라고 볼 수 있음.

 

게임에 쓴다면 무엇을 어디에 쓸까?

배열은 인벤토리에, 리스트는 퀘스트 목록에 사용하면 좋을 것이다.

 

출처

웃으면 1류다