C# ハッシュテーブルと例
C# のハッシュテーブルとは何ですか?
ハッシュ テーブルは、キーと値の項目を格納するために使用される特別なコレクションです。 したがって、スタック、配列リスト、キューのように 2 つの値だけを保存するのではなく、ハッシュ テーブルには 2 つの値が保存されます。 これら XNUMX つの値は、ハッシュ テーブルの要素を形成します。
以下は、ハッシュ テーブルの値がどのように見えるかを示す例です。
{ "001" , ".Net" } { "002" , ".C#" } { "003" , "ASP.Net" }
上記には 3 つのキーと値のペアがあります。 各要素のキーはそれぞれ 001、002、003 です。 各キーと値のペアの値は次のとおりです。純それぞれ「」、「C#」、「ASP.Net」です。
Hashtable コレクションで使用できる操作を詳しく見てみましょう。
ハッシュテーブルの宣言
ハッシュテーブルの宣言を以下に示します。 ハッシュテーブルは、ハッシュテーブル データ型を使用して作成されます。 「new」キーワードは、ハッシュテーブルのオブジェクトを作成するために使用されます。 次に、オブジェクトは変数 ht に割り当てられます。
Hashtable ht = new Hashtable()
ハッシュテーブルへの要素の追加
Add メソッドは、要素を キュー。 ステートメントの一般的な構文を以下に示します。
HashTable.add("key","value")
例1:
ハッシュ テーブルの各要素は 2 つの値で構成され、XNUMX つはキー、もう XNUMX つは値であることに注意してください。
では、これがコードレベルで動作する様子を見てみましょう。 以下のコードはすべて、コンソール アプリケーションに書き込まれます。
コードは Program.cs ファイルに書き込まれます。 以下のプログラムでは、上記のメソッドをどのように使用できるかを確認するコードを記述します。
今のところ、この例では、 hashtable を作成し、要素を hashtable に追加し、それに応じて表示する方法だけを見ていきます。
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] を使用して、キー値ごとにハッシュテーブル内の関連する値を取得します。
上記のコードが正しく入力され、プログラムが実行されると、次の出力が表示されます。
出力:
ハッシュ テーブルで使用できるメソッドをさらにいくつか見てみましょう。
キーを含む
このメソッドは、ハッシュテーブルにキーが存在するかどうかを確認するために使用されます。 以下は、このステートメントの一般的な構文です。 このステートメントは、キーが存在する場合は true を返し、それ以外の場合は値 false を返します。
Hashtable.Containskey(key)
値を含む
このメソッドは、ハッシュテーブルに値が存在するかどうかを確認するために使用されます。 以下は、このステートメントの一般的な構文です。 このステートメントは、値が存在する場合は 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」を返します。
上記のコードが正しく入力され、プログラムが実行されると、次の出力が表示されます。
出力:
出力から、検索対象のキーと値の両方がハッシュ テーブルに存在することが明確にわかります。
まとめ
ハッシュテーブルは、キーと値のペアで構成される要素を保存するために使用されます。 要素の値にアクセスするには、要素のキーを知っている必要があります。