[TIL] 122 [C#] 해쉬테이블(HashTable), Dictionary
카테고리: Til
HashTable
Dictionary
HashTable
키-값을 구성하는 데이터 컬렉션
키와 값의 데이터타입을 정하지 않습니다.
모든값이 object로 저장됩니다(boxing)
Hashtable hashtable = new Hashtable();
hashtable.Add("key1", "value1");
hashtable.Add(1, "김"); // 서로 다른 타입의 키와 값 저장 가능
hashtable.Add(2, "박");
hashtable.Add("김", 1);
hashtable.Add("박", 2);
Console.WriteLine(hashtable["key1"]); // value1
Console.WriteLine(hashtable[2]); // 박
Console.WriteLine(hashtable["김"]); // 1
foreach (DictionaryEntry entry in hashtable)
{
Console.WriteLine("키: " + entry.Key + ", 값: " + entry.Value);
}
Dictionary<Key, Value>
HashTable 과 유사하지만 보다 안전하고 최적화된 구조입니다.
키와 값의 데이터 타입을 정합니다.
Dictionary가 권장됩니다.
Dictionary<int, string> dictionary = new Dictionary<int, string>();
dictionary.Add(1, "apple");
dictionary.Add(2, "banana"); // 강한 타입의 키와 값을 지정하여 저장
Console.WriteLine(dictionary[1]); // appleㄴ
foreach (KeyValuePair<int, string> entry in dictionary)
{
Console.WriteLine("키: " + entry.Key + ", 값: " + entry.Value);
}
잡담, 일기?
해쉬테이블 딕셔너리
댓글남기기