예제가 포함된 C# 해시테이블
C#의 해시테이블이란 무엇입니까?
해시 테이블은 키-값 항목을 저장하는 데 사용되는 특수 컬렉션입니다. 따라서 해시 테이블은 스택, 배열 목록, 큐와 같이 하나의 값만 저장하는 대신 2개의 값을 저장합니다. 이 2개의 값은 해시 테이블의 요소를 형성합니다.
다음은 해시 테이블의 값이 어떻게 보이는지에 대한 몇 가지 예입니다.
{ "001" , ".Net" } { "002" , ".C#" } { "003" , "ASP.Net" }
위에는 3개의 키 값 쌍이 있습니다. 각 요소의 키는 각각 001, 002, 003입니다. 각 키-값 쌍의 값은 “. NET", "C#" 및 "ASP.Net"입니다.
Hashtable 컬렉션에서 사용 가능한 작업을 더 자세히 살펴보겠습니다.
해시테이블 선언
Hashtable의 선언은 아래와 같습니다. Hashtable은 Hashtable Datatype의 도움으로 생성됩니다. "new" 키워드는 Hashtable의 객체를 생성하는 데 사용됩니다. 그런 다음 개체는 변수 ht에 할당됩니다.
Hashtable ht = new Hashtable()
해시테이블에 요소 추가
Add 메소드는 요소를 추가하는 데 사용됩니다. 변발. 명령문의 일반적인 구문은 다음과 같습니다.
HashTable.add("key","value")
예 1 :
해시 테이블의 각 요소는 2개의 값으로 구성됩니다. 하나는 키이고 다른 하나는 값입니다.
이제 이것이 코드 수준에서 작동하는 것을 살펴보겠습니다. 아래에 언급된 모든 코드는 콘솔 애플리케이션에 작성됩니다.
코드는 Program.cs 파일에 기록됩니다. 아래 프로그램에서는 위에서 언급한 방법을 어떻게 사용할 수 있는지 알아보기 위해 코드를 작성해 보겠습니다.
지금은 예제에서 해시테이블을 생성하고 해시테이블에 요소를 추가하고 그에 따라 표시하는 방법을 살펴보겠습니다.
using System; using System.Collections; using System.Collections.Generic; using System.Linq; using System.Text; using System.Threading.Tasks; namespace DemoApplication { class Program { static void Main(string[] args) { Hashtable ht = new Hashtable(); ht.Add("001",".Net"); ht.Add("002","C#"); ht.Add("003","ASP.Net"); ICollection keys = ht.Keys; foreach (String k in keys) { Console.WriteLine(ht[k]); } Console.ReadKey(); } } }
코드 설명:-
- 먼저, “New”라는 키워드를 사용하여 Hashtable 데이터 유형을 사용하여 해시테이블 변수를 선언합니다. 정의하는 변수의 이름은 'ht'입니다.
- 그런 다음 Add 메서드를 사용하여 해시 테이블에 요소를 추가합니다. 해시테이블에 무언가를 추가할 때 키와 값 요소를 모두 추가해야 한다는 점을 기억하세요.
- 해시 테이블의 요소를 표시하는 직접적인 방법은 없습니다.
- 해시테이블을 표시하려면 먼저 해시테이블에서 키 목록(001, 002, 003)을 가져와야 합니다.
- 이는 ICollection 인터페이스를 통해 수행됩니다. 이는 해시테이블 컬렉션의 키를 저장하는 데 사용할 수 있는 특수 데이터 유형입니다. 그런 다음 해시테이블 컬렉션의 키를 'keys' 변수에 할당합니다.
- 다음으로 각 키 값에 대해 ht[k] 문을 사용하여 해시 테이블의 관련 값을 가져옵니다.
위 코드를 올바르게 입력하여 프로그램을 실행하면 다음과 같은 출력이 표시됩니다.
출력:
해시 테이블에 사용할 수 있는 몇 가지 메서드를 더 살펴보겠습니다.
포함키
이 메서드는 Hashtable에 키가 있는지 확인하는 데 사용됩니다. 다음은 이 명령문의 일반적인 구문입니다. 키가 존재하면 명령문은 true를 반환하고, 그렇지 않으면 false 값을 반환합니다.
Hashtable.Containskey(key)
포함값
이 메서드는 Hashtable에 값이 있는지 확인하는 데 사용됩니다. 다음은 이 명령문의 일반적인 구문입니다. 해당 문은 값이 존재하면 true를 반환하고, 그렇지 않으면 false 값을 반환합니다.
Hashtable.ContainsValue(value)
예 2 :
우리의 코드를 변경해 봅시다 콘솔 응용 "Containskey" 및 "ContainsValue" 메서드를 사용하는 방법을 보여줍니다.
using System; using System.Collections; using System.Collections.Generic; using System.Linq; using System.Text; using System.Threading.Tasks; namespace DemoApplication { class Program { static void Main(string[] args) { Hashtable ht = new Hashtable(); ht.Add("001",".Net"); ht.Add("002","C#"); ht.Add("003","ASP.Net"); Console.WriteLine(ht.ContainsKey("001")); Console.WriteLine(ht.ContainsValue("C#")); Console.ReadKey(); } } }
코드 설명:-
- 먼저, ContainsKey 메서드를 사용하여 키가 해시테이블에 있는지 확인합니다. 이 메서드는 키가 해시 테이블에 있으면 true를 반환합니다. 키가 해시테이블에 존재하므로 이 메서드는 true를 반환해야 합니다.
- 그런 다음 ContainsValue 메서드를 사용하여 값이 해시 테이블에 있는지 확인합니다. 값이 해시테이블에 존재하므로 이 메서드는 'true'를 반환합니다.
위 코드를 올바르게 입력하여 프로그램을 실행하면 다음과 같은 출력이 표시됩니다.
출력:
출력에서 검색 중인 키와 값이 모두 해시 테이블에 있음을 명확하게 확인할 수 있습니다.
요약
Hashtable은 키 값 쌍으로 구성된 요소를 저장하는 데 사용됩니다. 요소의 값에 액세스하려면 요소의 키를 알아야 합니다.