... | ... | @@ -765,4 +765,32 @@ class CollectionIComparableEx |
|
|
```
|
|
|
|
|
|
### Hashtable
|
|
|
Key값을 통해서 Value를 찾는다. ArrayList 같은 경우에 요소를 검색할 때 순차적으로 접근하지만, Hashtable은 Key값의 HashCode값을 통해서 바로 접근한다. 때문에 컬렉션의 크기가 클수록 Hashtable을 쓰는게 유리하다.
|
|
|
|
|
|
```c#
|
|
|
class HashtableEx
|
|
|
{
|
|
|
public static void Main()
|
|
|
{
|
|
|
Hashtable ht = new Hashtable();
|
|
|
|
|
|
ht.Add("서태웅", 11); //Hashtable에 값 추가, key, value모두 object 타입으로 다뤄지기 때문에 박싱 발생.
|
|
|
ht.Add("강백호", 10);
|
|
|
ht.Add("정대만", 14);
|
|
|
ht.Add("채치수", 4);
|
|
|
ht.Add("송태섭", 7);
|
|
|
//ht.Add("송태섭", 3); //key값이 겹치는 경우 ArgumentException 발생
|
|
|
|
|
|
|
|
|
Console.WriteLine(ht["정대만"]);
|
|
|
ht.Remove("채치수"); //"채치수"의 value 삭제
|
|
|
|
|
|
ht["강백호"] = 100; //"강백호" 의 value 변경
|
|
|
|
|
|
foreach (object key in ht.Keys)
|
|
|
{
|
|
|
Console.WriteLine("{0} => {1}", key, ht[key]);
|
|
|
}
|
|
|
}
|
|
|
}
|
|
|
``` |