Što je Hashtable u C #?
Hash tablica posebna je zbirka koja se koristi za spremanje stavki ključ / vrijednost. Dakle, umjesto da pohrani samo jednu vrijednost poput stoga, popisa nizova i reda, hash tablica pohranjuje 2 vrijednosti. Ove 2 vrijednosti čine element hash tablice.
Ispod su neki primjeri kako mogu izgledati vrijednosti hash tablice.
{ "001" , ".Net" }{ "002" , ".C#" }{ "003" , "ASP.Net" }
Iznad imamo 3 para vrijednosti ključeva. Tipke svakog elementa su 001, 002 i 003. Vrijednosti svakog para vrijednosti ključa su ".Net", "C #" i "ASP.Net".
Pogledajmo operacije koje su dostupne za zbirku Hashtable detaljnije.
Izjava tablice Hashtable
Izjava Hashtable-a prikazana je u nastavku. Hashtable se stvara uz pomoć Hashtable Datatype. Ključna riječ "new" koristi se za stvaranje objekta Hashtable-a. Zatim se objekt dodjeljuje varijabli ht.
Hashtable ht = new Hashtable()
Dodavanje elemenata u Hashtable
Metoda Dodaj koristi se za dodavanje elementa u red čekanja. Opća sintaksa izjave data je u nastavku
HashTable.add("key","value")
Primjer 1:
Imajte na umu da se svaki element hash tablice sastoji od 2 vrijednosti, jedna je ključ, a druga vrijednost.
Sada, pogledajmo kako ovo djeluje na razini koda. Sav dolje navedeni kôd bit će zapisan u našu aplikaciju Console.
Kôd će biti zapisan u našu datoteku Program.cs. U donjem programu napisat ćemo kôd kako bismo vidjeli kako se možemo koristiti gore spomenutim metodama.
Za sada ćemo u našem primjeru samo pogledati kako možemo stvoriti hashtable, dodati elemente u hashtable i prikazati ih u skladu s tim.
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();}}}
Objašnjenje koda: -
- Prvo, deklariramo varijablu hashtable koristeći tip podataka Hashtable pomoću ključne riječi "Novo". Naziv definirane varijable je 'ht'.
- Zatim dodamo elemente u hash tablicu pomoću metode Add. Zapamtite da prilikom dodavanja nečega u hashtable moramo dodati i ključ i element vrijednosti.
- Ne postoji izravni način prikaza elemenata hash tablice.
- Da bismo prikazali tablicu raspršivanja, prvo moramo dobiti popis ključeva (001, 002 i 003) iz tablice raspršivanja.
- To se radi putem sučelja ICollection. Ovo je posebna vrsta podataka koja se može koristiti za pohranu ključeva zbirke raspršivanja. Zatim dodijeljujemo ključeve zbirke hashtable varijabli "ključevi".
- Sljedeće za svaku vrijednost ključa dobivamo pridruženu vrijednost u tablici raspršivanja pomoću izraza ht [k].
Ako se gornji kôd pravilno unese i program pokrene, prikazat će se sljedeći izlaz.
Izlaz:
Pogledajmo još neke metode dostupne za hash tablice.
SadržiKljuč
Ovom se metodom provjerava je li ključ prisutan u tablici raspršivanja. Ispod je opća sintaksa ove izjave. Izraz će vratiti true ako ključ postoji, inače će vratiti vrijednost false.
Hashtable.Containskey(key)
Sadrži vrijednost
Ovom se metodom provjerava je li vrijednost prisutna u tablici raspršivanja. Ispod je opća sintaksa ove izjave. Izjava će vratiti true ako vrijednost postoji, u suprotnom će vratiti vrijednost false.
Hashtable.ContainsValue(value)
Primjer 2:
Promijenimo kod u našoj konzoli kako bismo pokazali kako možemo koristiti metode "Containskey" i "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();}}}
Objašnjenje koda: -
- Prvo koristimo metodu ContainsKey da vidimo je li ključ prisutan u hashtableu. Ova će se metoda vratiti ako je ključ prisutan u tablici raspršivanja. Ova metoda trebala bi vratiti true jer ključ postoji u hashtableu.
- Zatim koristimo metodu ContainsValue da vidimo je li vrijednost prisutna u tablici raspršivanja. Ova će metoda vratiti 'true' budući da vrijednost postoji u tablici raspršivanja.
Ako se gornji kôd pravilno unese i program pokrene, prikazat će se sljedeći izlaz.
Izlaz:
Iz rezultata možete jasno vidjeti da su i ključ i vrijednost koja se pretražuje prisutni u hash tablici.
Sažetak
- Hashtable se koristi za pohranu elemenata koji se sastoje od parova vrijednosti ključeva. Da biste pristupili vrijednosti elementa, morate znati ključ elementa.