이전 글에서 C# 컬렉션 중 Stack에 대해 알아보았습니다. 이번에는 Hashtable에 대해 알아보면서 아울러 메서드에는 어떤 것들이 있으며 사용하는 방법에 대해서도 알아보겠습니다.
C# 컬렉션 알아보기 - Stack & 메서드
이전 글에서 Queue에 대해 알아보았습니다. 이번에는 C# 컬렉션 중 Stack에 대해 알아보겠습니다. Stack은 Queue와 같이 데이터를 저장할 수 있는 컬렉션이지만 입출력되는 방식은 Queue와 전혀 다릅니
mr-johndoe.tistory.com
1. Hashtable
Hashtable은 키가 되는 데이터와 연결된 데이터를 저장하고 있는 컬렉션으로 키를 입력하면 연결된 데이터를 바로 찾을 수 있습니다. 찾는 속도가 인덱스 번호로 찾는 배열만큼이나 빠릅니다.
Hashtable 사용방법은 앞의 컬렉션을 선언하는 방법과 동일합니다.
Hashtable 이름 = new Hashtable( );
Hashtable은 사전을 생각하시면 이해가 쉬우실 것입니다. 영한사전을 생각해보시면 영어 단어를 찾으면 그 뜻을 한글로 알 수 있습니다. 여기서 영어 단어가 Hashtable의 키가 되고 한글로 된 단어의 뜻이 결과물이 됩니다.
2. Hashtable의 메서드
2.1 Add
Add 메서드는 데이터를 입력할 때 사용합니다. Hashtable의 Add 메서드는 입력할 때 키가 되는 데이터와 결과 데이터를 함께 입력해야 합니다.
Hashtable.Add(키가 되는 데이터, 결과 데이터);
2.2 Remove
Remove 메서드는 Hashtable에 저장되어 있는 데이터를 삭제할 때 사용합니다. 인수로는 키가 되는 데이터를 입력하며 입력된 키가 되는 데이터와 연결된 결과 데이터 모두 삭제됩니다.
Hashtable.Remove(키가 되는 데이터);
2.3 Contains
Contains 메서드는 입력한 데이터가 Hashtable 내에 저장된 키가 되는 데이터에 있는지 확인하여 주는 메서드입니다.
Hashtable.Contains(데이터);
3. 예제를 통해 Hashtable 확인
Visual Studio를 열고 C# 콘솔애플리케이션을 생성하시고 화면에 출력된 코드 창에 다음 코드를 입력하세요.
using System;
using System.Collections;
namespace UsingHashtable
{
class Program
{
static void Main(string[] args)
{
string s;
Hashtable hash = new Hashtable();
hash.Add("one", "하나");
hash.Add("two", "둘");
hash.Add("three", "셋");
hash.Add("four", "넷");
hash.Add("five", "다섯");
hash.Remove("four");
Console.Write("단어를 입력하세요 : ");
s = Console.ReadLine();
if (hash.Contains(s))
Console.WriteLine("{0} : {1}", s, hash[s]);
else
Console.WriteLine("찾으시는 단어가 없습니다.");
}
}
}
Hashtable을 사용하기 위해 using System.Collections;을 입력하였습니다.
Hashtable hash = new Hashtable();
=> Hashtable을 Hash라는 이름으로 선언하였습니다.
hash.Add("one", "하나");
hash.Add("two", "둘");
hash.Add("three", "셋");
hash.Add("four", "넷");
hash.Add("five", "다섯");
=> Hash에 5개의 키와 결과 데이터를 입력하였습니다.
hash.Remove("four");
=> Hash에 입력되어 있는 키 데이터가 four인 데이터와 연결된 결과 데이터 넷을 삭제합니다.
s = Console.ReadLine();
=> 화면에 사용자가 입력하는 데이터를 변수 s에 입력합니다.
if (hash.Contains(s))
Console.WriteLine("{0} : {1}", s, hash[s]);
else
Console.WriteLine("찾으시는 단어가 없습니다.");
=> 변수 s에 입력된 데이터와 동일한 키 데이터가 hash에 있는지 확인하고 있으면 키 데이터와 결과 데이터 모두 화면에 출력하고, 그렇지 않으면 찾으시는 단어가 없습니다.라고 출력됩니다.
코드를 실행시키시고 키 데이터를 입력하시면 연결된 결과 데이터가 출력됩니다. 그리고, Remove 메서드로 삭제한 four를 입력하시면 찾으시는 단어가 없습니다.라고 출력됩니다.
'Programming > C#' 카테고리의 다른 글
C# 파일 입출력 - Stream 클래스 (0) | 2021.11.27 |
---|---|
C# 데이터 형식 - Object & 박싱, 언박싱 (0) | 2021.10.18 |
C# 컬렉션 알아보기 - Stack & 메서드 (0) | 2021.10.15 |
C# 컬렉션 알아보기 - Queue & 메서드 (0) | 2021.10.15 |
C# 컬렉션 알아보기 - ArrayList & 메서드 (0) | 2021.10.14 |