List
내부적으로 배열을 사용하여 구현되고 같은 타입만 저장할 수 있습니다.
또 Generic으로 구현되어 박싱 언박싱이 일어나지 않아 타입 안정성 보장됨.
단점으로는 내부적으로 배열을 사용하여 구현되기 떄문에 중간에 데이터를 추가, 삽입, 삭제할 경우
배열을 다시 할당하고 복사를 수행하기 때문에 성능 저하가 있을 수 있습니다.
또, 원하는 데이터를 찾을 때 순차적으로 배열을 전부 돌기 때문에 데이터가 많을 수 록 탐색이 비효율적입니다.
ArrayList
object 타입으로 구성되어 었어, 서로 다른 타입의 데이터를 배열에 저장할 수 있다는 장점이 있으나
단점으로는 박싱 언박싱이 일어나기 때문에 성능 저하가 일어날 수 있습니다.
Dictionary
Hashtable을 기반으로 Key-Value Pair의 형태로 데이터를 저장합니다.
키를 이용하여 원하는 값을 찾을 수 있습니다.
단점으로는 연속적이지 않은 구조를 가지고 반복 문 사용에 적합하지는 않습니다.
또 유니티의 인스펙터 창과 호환되지 않습니다.
'C#' 카테고리의 다른 글
Unity Interface (0) | 2024.02.01 |
---|---|
C# BlackJack (1) | 2024.01.08 |
C# SnakeGame (1) | 2024.01.06 |
C# virtual, override (1) | 2024.01.05 |
C# Partial (2) | 2024.01.05 |