Co je Hashtable v C #?
Tabulka hash je speciální kolekce, která se používá k ukládání položek klíč – hodnota. Takže namísto ukládání pouze jedné hodnoty, jako je zásobník, seznam polí a fronta, hash tabulka ukládá 2 hodnoty. Tyto 2 hodnoty tvoří prvek hash tabulky.
Níže uvádíme několik příkladů, jak mohou vypadat hodnoty hash tabulky.
{ "001" , ".Net" }{ "002" , ".C#" }{ "003" , "ASP.Net" }
Nahoře máme 3 páry klíčových hodnot. Klíče každého prvku jsou 001, 002 a 003. Hodnoty každého páru hodnot klíčů jsou „.Net“, „C #“ a „ASP.Net“.
Podívejme se na operace dostupné pro kolekci Hashtable podrobněji.
Prohlášení Hashtable
Deklarace hashtable je uvedena níže. Hashtable je vytvořen pomocí datového typu Hashtable. Klíčové slovo „new“ se používá k vytvoření objektu Hashtable. Objekt je poté přiřazen k proměnné ht.
Hashtable ht = new Hashtable()
Přidávání prvků do Hashtable
Add metoda se používá k přidání prvku do fronty. Obecná syntaxe příkazu je uvedena níže
HashTable.add("key","value")
Příklad 1:
Nezapomeňte, že každý prvek hash tabulky obsahuje 2 hodnoty, jedna je klíčem a druhá je hodnotou.
Nyní se podívejme, jak to funguje na úrovni kódu. Veškerý níže uvedený kód bude zapsán do naší aplikace Console.
Kód bude zapsán do našeho souboru Program.cs. V níže uvedeném programu napíšeme kód, abychom zjistili, jak můžeme použít výše uvedené metody.
Prozatím se v našem příkladu podíváme jen na to, jak můžeme vytvořit hashtable, přidat do hashtable prvky a podle toho je zobrazit.
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();}}}
Vysvětlení kódu: -
- Nejprve deklarujeme hashtable proměnnou pomocí datového typu Hashtable pomocí klíčového slova „New“. Název definované proměnné je „ht“.
- Potom přidáme prvky do hash tabulky pomocí metody Add. Pamatujte, že když přidáváme něco do hashtable, musíme přidat klíčový i hodnotový prvek.
- Neexistuje žádný přímý způsob zobrazení prvků hash tabulky.
- Abychom mohli zobrazit hashtable, musíme nejprve získat seznam klíčů (001, 002 a 003) z hash tabulky.
- To se provádí pomocí rozhraní ICollection. Jedná se o speciální datový typ, který lze použít k uložení klíčů sbírek hashtable. Poté přiřadíme klíče kolekce hashtable k proměnné 'keys'.
- Dále pro každou hodnotu klíče získáme přidruženou hodnotu v hashtable pomocí příkazu ht [k].
Pokud je výše uvedený kód zadán správně a program je spuštěn, zobrazí se následující výstup.
Výstup:
Podívejme se na několik dalších metod dostupných pro hashovací tabulky.
Obsahuje klíč
Tato metoda se používá k ověření, zda je v Hashtable klíč. Níže je uvedena obecná syntaxe tohoto příkazu. Pokud klíč existuje, příkaz vrátí hodnotu true, jinak vrátí hodnotu false.
Hashtable.Containskey(key)
ContainValue
Tato metoda se používá ke zjištění, zda je v Hashtable přítomen Value. Níže je uvedena obecná syntaxe tohoto příkazu. Příkaz vrátí hodnotu true, pokud hodnota existuje, jinak vrátí hodnotu false.
Hashtable.ContainsValue(value)
Příklad 2:
Pojďme změnit kód v naší aplikaci Console, abychom ukázali, jak můžeme použít metodu „Containskey“ a „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();}}}
Vysvětlení kódu: -
- Nejprve pomocí metody ContainsKey zjistíme, zda je klíč v hashtable. Tato metoda vrátí true, pokud je klíč v hashtable. Tato metoda by měla vrátit true, protože klíč v hashtable existuje.
- Poté pomocí metody ContainsValue zjistíme, zda je hodnota přítomna v hashtable. Tato metoda vrátí hodnotu „true“, protože hodnota v hashtable existuje.
Pokud je výše uvedený kód zadán správně a program je spuštěn, zobrazí se následující výstup.
Výstup:
Z výstupu jasně vidíte, že prohledávaný klíč i hodnota jsou přítomny v hash tabulce.
souhrn
- Hashtable se používá k ukládání prvků, které se skládají z párů klíčových hodnot. Chcete-li získat přístup k hodnotě prvku, potřebujete znát klíč prvku.