C#에서 Hashtable은 키(Key)와 값(Value)의 쌍으로 데이터를 저장하는 컬렉션입니다. 이 글에서는 Hashtable에 저장된 특정 항목을 Remove() 메서드를 사용하여 제거하는 방법을 알아봅니다.
Hashtable 생성하기
먼저 예제에서 사용할 Hashtable을 만들어 보겠습니다. Add() 메서드를 사용하여 키와 값을 추가합니다.
Hashtable h = new Hashtable(); h.Add(1, "Jack"); h.Add(2, "Henry"); h.Add(3, "Ben"); h.Add(4, "Chris");
Remove() 메서드로 항목 제거하기
Hashtable에서 항목을 제거하려면 Remove() 메서드를 사용합니다. 이 메서드는 인덱스가 아닌 키(Key)를 매개변수로 받습니다. 아래 코드는 키가 3인 항목을 제거하는 예시입니다.
h.Remove(3);
전체 예제 코드
이제 Hashtable을 생성하고, 항목을 제거한 후 그 결과를 확인하는 전체 예제를 살펴보겠습니다.
using System;
using System.Collections;
public class Demo {
public static void Main() {
Hashtable h = new Hashtable();
h.Add(1, "Jack");
h.Add(2, "Henry");
h.Add(3, "Ben");
h.Add(4, "Chris");
Console.WriteLine("초기 목록:");
foreach (var key in h.Keys) {
Console.WriteLine("Key = {0}, Value = {1}", key, h[key]);
}
// 항목 제거
h.Remove(3);
Console.WriteLine("항목 제거 후 목록:");
foreach (var key in h.Keys) {
Console.WriteLine("Key = {0}, Value = {1}", key, h[key]);
}
}
}실행 결과
초기 목록: Key = 4, Value = Chris Key = 3, Value = Ben Key = 2, Value = Henry Key = 1, Value = Jack 항목 제거 후 목록: Key = 4, Value = Chris Key = 2, Value = Henry Key = 1, Value = Jack
주요 포인트 정리
Remove()메서드는 키를 기준으로 항목을 삭제하며, 인덱스 번호가 아닙니다.- Hashtable은 내부적으로 해시 알고리즘을 사용하기 때문에 출력 시 항목 순서는 삽입 순서와 다를 수 있습니다.
- 존재하지 않는 키로
Remove()를 호출해도 예외가 발생하지 않으며, 아무 작업도 수행하지 않습니다. - 제거 전에
ContainsKey()메서드를 사용하면 해당 키의 존재 여부를 미리 확인할 수 있습니다.