Kaj je Hashtable v C #?
Hash tabela je posebna zbirka, ki se uporablja za shranjevanje elementov ključ-vrednost. Torej, namesto da shrani samo eno vrednost, kot so sklad, seznam matrik in vrsta, hash tabela shrani 2 vrednosti. Ti dve vrednosti tvorita element razpršilne tabele.
Spodaj je nekaj primerov, kako lahko izgledajo vrednosti razpršene tabele.
{ "001" , ".Net" }{ "002" , ".C#" }{ "003" , "ASP.Net" }
Zgoraj imamo 3 pare ključnih vrednosti. Ključi vsakega elementa so 001, 002 in 003. Vrednosti vsakega para vrednosti ključev so ".Net", "C #" oziroma "ASP.Net".
Oglejmo si podrobneje operacije, ki so na voljo za zbirko Hashtable.
Izjava Hashtable
Izjava Hashtable je prikazana spodaj. Hashtable se ustvari s pomočjo podatkovnega tipa Hashtable. Ključna beseda "new" se uporablja za ustvarjanje predmeta Hashtable. Nato je objekt dodeljen spremenljivki ht.
Hashtable ht = new Hashtable()
Dodajanje elementov v Hashtable
Metoda Dodaj se uporablja za dodajanje elementa v čakalno vrsto. Splošna sintaksa stavka je podana spodaj
HashTable.add("key","value")
Primer 1:
Ne pozabite, da je vsak element razpršilne tabele sestavljen iz dveh vrednosti, ena je ključ, druga pa vrednost.
Zdaj pa poglejmo, kako to deluje na ravni kode. Vsa spodaj navedena koda bo zapisana v našo aplikacijo Console.
Koda bo zapisana v datoteko Program.cs. V spodnjem programu bomo napisali kodo, da bomo videli, kako lahko uporabimo zgoraj omenjene metode.
Za zdaj bomo v našem primeru le pogledali, kako lahko ustvarimo zgoščevalno tabelo, ji dodamo elemente in jih ustrezno prikažemo.
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();}}}
Pojasnilo kode: -
- Najprej spremenljivko razpršitve razglasimo z uporabo podatkovnega tipa Hashtable s ključno besedo "Novo". Ime spremenljivke, ki jo definira, je 'ht'.
- Nato v heš tabelo dodamo elemente z uporabo metode Add. Ne pozabite, da moramo pri dodajanju nečesa v hashtable dodati ključ in element vrednosti.
- Elementov zgoščene tabele ni mogoče neposredno prikazati.
- Da bi prikazali zgoščevalno tabelo, moramo najprej dobiti seznam ključev (001, 002 in 003) iz razpršilne tabele.
- To se naredi prek vmesnika ICollection. To je posebna podatkovna vrsta, ki se lahko uporablja za shranjevanje ključev zbirke razpršitve. Nato spremenljivki 'ključi' dodelimo ključe zbirke zgoščevalnih tabel.
- Nato za vsako vrednost ključa dobimo povezano vrednost v zgoščevalni tabeli z uporabo stavka ht [k].
Če je zgornja koda pravilno vnesena in se program zažene, se prikaže naslednji izhod.
Izhod:
Oglejmo si še nekaj metod, ki so na voljo za hash tabele.
VsebujeKljuč
Ta metoda se uporablja za ugotavljanje, ali je ključ prisoten v tabeli Hashtable. Spodaj je splošna sintaksa te izjave. Stavek bo vrnil true, če ključ obstaja, sicer pa vrednost false.
Hashtable.Containskey(key)
ContainsValue
Ta metoda se uporablja za ugotavljanje, ali je vrednost v tabeli Hash prisotna. Spodaj je splošna sintaksa te izjave. Stavek bo vrnil true, če vrednost obstaja, sicer pa vrednost false.
Hashtable.ContainsValue(value)
2. primer:
Spremenimo kodo v naši aplikaciji Console, da pokažemo, kako lahko uporabimo metodo "Containskey" in "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();}}}
Pojasnilo kode: -
- Najprej z metodo ContainsKey preverimo, ali je ključ prisoten v zgoščevalni tabeli. Ta metoda bo vrnila true, če je ključ prisoten v zgoščevalni tabeli. Ta metoda bi morala vrniti true, saj ključ obstaja v razpredelnici.
- Nato z metodo ContainsValue preverimo, ali je vrednost prisotna v razpredelnici. Ta metoda bo vrnila 'true', saj vrednost obstaja v zgoščevalni tabeli.
Če je zgornja koda pravilno vnesena in se program zažene, se prikaže naslednji izhod.
Izhod:
Iz izhoda lahko jasno vidite, da sta ključ in vrednost, ki jo iščete, prisotna v razpršeni tabeli.
Povzetek
- Hashtable se uporablja za shranjevanje elementov, ki so sestavljeni iz parov vrednosti ključev. Če želite dostopati do vrednosti elementa, morate poznati ključ elementa.