首頁  >  文章  >  後端開發  >  如何在 C# 中向哈希表集合新增項目

如何在 C# 中向哈希表集合新增項目

王林
王林轉載
2023-09-12 09:49:021069瀏覽

如何在 C# 中向哈希表集合添加项目

我們已經討論了哈希表的基礎知識。 C# 中的雜湊表集合用於儲存鍵值對,其中每個鍵值對都是根據鍵的雜湊碼進行組織的。該雜湊碼是使用雜湊碼函數計算的。在內部,哈希表使用桶來儲存資料。儲存桶只不過是哈希表中的一組虛擬元素。哈希碼與每個儲存桶相關聯。

從程式設計上來說,雜湊表類似於字典對象,但與字典對像不同的是,雜湊表可以儲存不同資料類型的對象。在性能方面,哈希表表現出較低的性能,因為哈希表的資料元素是物件。因此,為了從雜湊表中儲存和檢索值,必須執行物件的裝箱和拆箱。

在本文中,我們將討論如何在雜湊表集合中新增項目。

如何將項目新增到哈希表集合?

C#中的hashtable集合是使用hashtable類別實現的。此類提供了各種方法來對哈希表執行不同的操作。其中一個方法是 Add()

哈希表類別的Add()方法用於在雜湊表中新增具有指定鍵及其對應值的元素。當哈希表新增鍵值對時,我們應該確保鍵不重複或為空,因為雜湊表只允許非空且唯一的鍵。

在C#的雜湊表集合中,我們可以擁有不同資料類型的鍵/值對元素。

現在讓我們繼續討論 Add() 方法。

下面給出了哈希表集合的Add()方法的一般原型。

文法

public virtual void Add(object key, object value);

參數

  • Key - 正在新增的元素的指定鍵(類型 System.Object)。應為非空。

  • Value - 元素的指定值(型別 System.Object)此值可以為 null。

例外:此方法拋出以下例外。

  • ArgumentNullException − 當鍵為 null 時。

  • ArgumentException − 具有相同鍵的元素已存在。

  • NotSupportedException − 雜湊表具有固定大小或唯讀。

如果我們有一個哈希表物件宣告如下 -

Hashtable hshTable = new Hashtable();

然後我們可以使用 Add() 方法向該哈希表物件添加一個元素,如下所示 -

hshTable.Add("msg", "charVal");

由於雜湊表允許混合資料類型的元素,因此我們也可以在同一個雜湊表中新增數值 -

hshTable.Add(1, 2022);

除了使用 Add() 方法,我們也可以直接將值指派給雜湊表。例如,要新增 key = 2 的元素,我們可以簡單地編寫,

hshTable[3] = "three";

上述語句將在雜湊表中建立一個鍵值對(3,「三」)。

向雜湊表集合新增項目的程式設計範例

以下程式示範如何使用 Add() 方法建立不同元素的雜湊表。

範例 1

using System;
using System.Collections;
class Program {
   static void Main(string[] args) {
      Hashtable mixedHashTable = new Hashtable();
      //add method
      mixedHashTable.Add("msg", "Collection");
      mixedHashTable.Add("site", "HashTable");
      mixedHashTable.Add(1, 3.14);
      mixedHashTable.Add(2, null);

      //assign value to the key
      mixedHashTable[3] = "Tutorial";

      // Add method throws an exception if the key already exists in //hashtable
      try {
         mixedHashTable.Add(2, 750);
      } catch {
         Console.WriteLine("Hashtable already has an element with Key = '2'.");
      }
      Console.WriteLine("*********HashTable Elements********");
      // It will return elements as Key-Value Pair.
      foreach (DictionaryEntry elem in mixedHashTable) {
         Console.WriteLine("Key = {0}, Value = {1}", elem.Key, elem.Value);
      }
      Console.ReadLine();
   }
}

上面的程式首先使用預設建構函式建立一個雜湊表物件。然後它使用 Add() 方法將不同的元素加入到哈希表中。我們也可以透過直接賦值來將元素新增到雜湊表中。上面的程式將不同資料類型的鍵值對加入到哈希表中。然後使用迭代器,將哈希表的元素一一顯示出來。

輸出

上述範例的輸出如下所示 -

Hashtable already has an element with Key = '2'.
*********HashTable Elements********
Key = 2, Value = 
Key = msg, Value = Collection
Key = 3, Value = Tutorial
Key = site, Value = HashTable
Key = 1, Value = 3.14

輸出顯示了我們新增到雜湊表中的所有鍵值對。

我們再舉一個向哈希表添加元素的例子。程序如下。

範例 2

using System;
using System.Collections;
class hTable {
   // Driver code
   public static void Main() {
      // Creating a Hashtable
      Hashtable strHashTable = new Hashtable();

      // Adding elements in Hashtable
      strHashTable.Add("4", "Even Number");
      strHashTable.Add("9", "Odd Number");
      strHashTable.Add("5", "Odd and Prime Number");
      strHashTable.Add("2", "Even and Prime Number");

      // Get a collection of the keys.
      ICollection c = strHashTable.Keys;

      // Displaying the hashtable contents
      Console.WriteLine("=========Contents of the Hashtable=========");
      foreach(string str in c)
         Console.WriteLine(str + ": " + strHashTable[str]);
   }
}

在此程式中,我們會新增字串類型的值。我們使用 Add() 方法新增值,然後檢索雜湊表中的鍵集合。然後,我們使用 foreach 循環遍歷此鍵集合並顯示每個鍵及其對應的值。

輸出

產生的輸出如下 -

=========Contents of the Hashtable=========
5: Odd and Prime Number
9: Odd Number
2: Even and Prime Number
4: Even Number

透過這種方式,我們可以使用 hashtable 類別的 Add() 方法將項目新增到 hashtable 集合中。

我們在本文中了解如何將項目新增到雜湊表集合中。在以後的文章中,我們將討論更多關於 Hashtable 的操作。

以上是如何在 C# 中向哈希表集合新增項目的詳細內容。更多資訊請關注PHP中文網其他相關文章!

陳述:
本文轉載於:tutorialspoint.com。如有侵權,請聯絡admin@php.cn刪除