[유니티 C#][자료구조] Dictionary (딕셔너리)
유니티 C# 자료구조 Dictionary (딕셔너리)
C#에는 많은 자료 구조가 있지만, 상황별로 가장
적절한 자료구조를 쓰는 것이 중요하다.
오늘은 게임 개발에서 유용하게 쓰일 수 있는
C# 자료구조 Dictionary에 대해 알아보고
이 자료구조가 왜 유용하지에 대해 알아보겠다.
먼저 여러 자료구조들의 추가, 검색, 삭제, 인덱스 접근에
대한 시간복잡도를 나타내는 표이다. 보시다시피 딕셔너리는
추가, 검색, 삭제 부분에서 상수시간의 시간복잡도를 보인다.
이것만 보아도 딕셔너리의 효율성을 짐작할 수 있다.
간단하게 딕셔너리의 사용법에 대해 알아보도록 하자.
먼저 Dictionary(딕셔너리)는 사용자가 원하는 대로 키를
설정할 수 있는 자료구조이다. 또한 이 키값으로 int뿐만아니라
문자열이나 다양한 변수형을 넣을 수 있다는 점이다.
인터넷에 좋은 예제가 있어 실습겸 작성해보았다.
01. 아이템 클래스
02. Dictionary (딕셔너리) 선언 그리고 추가 , 검색
03. Dictionary(딕셔너리) 출력 , 삭제, 비우기
딕셔너리는 헤시 테이블과 상당히 유사하지만
헤시 테이블은 자료형에 대한 정의가 없다.
딕셔너리는 자료형을 명확하게 설정하기 때문에
속도면에서 딕셔너리가 좋은 성능을 보인다. (박싱 / 언박싱)
따라서 헤시 테이블 보다는 딕셔너리가 더욱 좋은 경우가 많다.
상황에 맞는 적절한 자료구조의 사용은
게임을 만드는 데 있어 성능향상을 가져오는
상당히 중요한 부분이기 때문에 많은 공부가
필요한 부분이 되겠다. 다음 포스팅은
헤시 테이블이 딕셔너리보다 느린 이유
박싱/언박싱에 대해 알아보도록 하겠다.