# Dictionary란?
var dictionary = new Dictionary<string, string>();
dictionary.Add("Name", "KinJinwoo");
var name = dictionary["Name"];
Debug.Log(name);
- Dictionary<TKey, TValue> 구조로 되어 있습니다
- 도서관을 예시로 들면, 컴퓨터로 책 제목을 치면 위치를 얻을 수 있습니다
- 즉, Key와 Value를 사용하여 자료를 저장합니다
- 중복 <TKey>를 허용하지 않습니다
- 위 코드를 예시로, dictionary에 Name이라는 Key값을 저장했으므로, 또 다시 Name이라는 Key값을 Add할 수 없습니다!
- 제네릭<T>으로 TKey와 TValue의 타입을 미리 정할 수 있어 박싱과 언박싱이 발생하지 않습니다
- 위 코드에는 TKey와 TValue 타입이 string으로 미리 지정되어 있습니다
# HashTable이란?
var hashtable = new Hashtable();
hashtable.Add("Age", 24);
var age = hashtable["Age"];
Debug.Log(age);
- TKey와 TValue를 사용하여 자료를 저장합니다
- 중복 Key를 허용하지 않습니다
- 위와 동일
- TKey와 TValue 둘 다 Object형식을 사용하므로 언박싱이 일어납니다!
- Dictionary와의 차이!
# HashSet 이란?
var hashset = new HashSet<int>();
hashset.Add(177);
foreach (var VARIABLE in hashset)
{
var height = VARIABLE;
Debug.Log(height);
}
- Key가 존재하지 않으며, Value(들)의 구성으로 이루어져 있습니다
- 순서가 존재하지 않습니다
- {0, 6, 2, 9} 는 {9, 2, 6, 0} 과 같습니다
- 각 항목의 중복을 허용하지 않습는다
- Value 중복을 허용하지 않는다는 이야기 입니다
위 코드들은 단순 정말 정말 개념만 설명했습니다
자료구조에는 Add 방법뿐 아니라
CotainsKey, TryGetValue, Remove 등이 존재하므로 자료구조 문법에 대해 좀 더 공부해보시기를 추천드립니다!
# 결과