Ero hashtablen ja sanakirjan välillä
Sisällysluettelo:
- Mikä on yleinen tietotyyppi
- Mikä on Hashtable
- Mikä on sanakirja
- Ero hashtablen ja sanakirjan välillä
The tärkein ero Hashtablen ja Dictionaryn välillä on, että Hashtable on heikosti kirjoitettu tietorakenne, joten on mahdollista lisätä minkä tahansa tyyppisiä avaimia ja arvoja, kun taas sanakirja on voimakkaasti kirjoitettu tietorakenne, joten on mahdollista lisätä vain elementtejä, jotka täyttävät määritetyt tietotyypit sekä avaimelle että arvolle.
Hashtable ja sanakirja ovat kaksi tärkeintä tietorakennetta. Molemmat voivat pitää tietoja avainarvopareina. Hashtable tai sanakirja voi sisältää vain yksilöllisiä avaimia. Ohjelmoija voi löytää tai poistaa tietyn arvon näppäimellä. Hashtablea ei kirjoiteta voimakkaasti. Siksi ohjelmoija voi lisätä minkä tahansa avain-arvo-parin elementin Hashtableen. Toisaalta sanakirja on voimakkaasti kirjoitettu. Ohjelmoijan tulee määrittää avainten ja arvojen tietotyypit. Ei ole mahdollista lisätä elementtejä, jotka eivät täytä annettuja tietotyyppejä. Jos esimerkiksi sanakirjassa on yleinen tyyppi, ohjelmoija voi lisätä vain elementtejä, joissa on int -tyypin avaimet ja merkkijonotyypin arvot.
Sanakirja, hashtable, tietorakenteet
Mikä on yleinen tietotyyppi
Yleinen tietotyyppi on tietotyyppi, jonka avulla käyttäjä voi määrittää luokkia ja menetelmiä paikkamerkillä. Kääntäjät, kuten C#, voivat korvata paikkamerkit määrätyllä tietotyypillä käännöshetkellä. Sitä käytetään luomaan yleiskäyttöisiä luokkia ja menetelmiä. Yleisluokkaa määritettäessä ohjelmoijan on käytettävä kulmasulkeita (). Nämä hakasulkeet ilmoittavat luokan tai menetelmän yleiseksi tyypiksi.
Mikä on Hashtable
Hashtable on tietorakenne, joka toteuttaa assosiatiivisen taulukon abstraktin tietotyypin, rakenteen, joka voi yhdistää avaimen arvoihin. Se ei ole yleinen tietotyyppi. Katso koodinpätkä seuraavasti.
Kuva 1: C# -ohjelma, jossa on hashtable
Yllä olevassa ohjelmassa numerot ovat Hashtable -tyyppisiä objekteja. Avain-arvo-parit lisätään hashtableen. Lauseessa 15–17 avaimet ovat tyyppiä int ja arvot ovat merkkijonoa. Lausunnossa 18 avain ja arvo ovat merkkijonoja. Hashtable on viikoittain kirjoitettu tietorakenne. Siksi ohjelmoija voi lisätä minkä tahansa tyyppisiä avaimia ja arvoja Hashtableen.
Kuva 2: HashTable Program -lähtö
Ohjelman tulos on kuten edellä. Hashtable ei tulosta tietueita järjestyksessä, jossa elementit lisättiin. Siksi se ei säilytä lisättyä järjestystä.
Mikä on sanakirja
Sanakirja käyttää Hashtable -käsitettä. Se on yleinen tietotyyppi. Katso alla oleva ohjelma. names on Dictionary -tyyppinen objekti. Siinä on erityisiä tietotyyppejä, jotka tallennetaan avaimille ja arvoille. Tämän ohjelman mukaan geneeriset tyypit määritellään seuraavasti. Siksi, kun lisäät elementtejä sanakirjaan, sekä avainten että arvojen on oltava tyyppiä merkkijono.
Kuva 3: C# -ohjelma sanakirjan kanssa
Kaikilla yllä olevaan sanakirjaan lisätyillä elementeillä on merkkijono -tyyppiset avain- ja arvoparit. Avaimen ja arvojen tulostaminen konsoliin antaa kuvan 4 kaltaisen tuloksen. Kohteiden noutaminen sanakirjasta tulostaa tietueet samassa järjestyksessä kuin elementit lisättiin. Siksi se ylläpitää lisättyä järjestystä.
Kuva 4: Sanakirjaohjelman lähtö
Kaiken kaikkiaan sanakirja on nopea, mutta se ei tarjoa langan turvallisuutta.
Ero hashtablen ja sanakirjan välillä
Määritelmä
Hashtable on tietorakenne, joka toteuttaa assosiatiivisen taulukon abstraktin tietotyypin, rakenteen, joka voi yhdistää avaimen arvoihin. Sanakirja on Hashtable -pohjainen tietorakenne, joka tallentaa arvot avainten perusteella.
Elementtien lisääminen
Lisäksi Hashtable on heikosti kirjoitettu tietorakenne. Siksi ohjelmoija voi lisätä Hashtable -tiedostoon minkä tahansa objektityypin avaimia ja arvoja. Sanakirja on vahvasti kirjoitettu tietorakenne. (
Tyyppi
Hashtable ei myöskään ole yleinen, kun taas sanakirja on yleinen tyyppi.
Suoritusnopeus
Lisäksi hashtableissa on nyrkkeilyä ja purkamista, mutta ei sanakirjassa. Sanakirja kuluttaa minimaalisesti muistia ja suorittaa nopeammin kuin hashtable.
Elementtien hakeminen
Hashtable -elementin noutaminen ei säilytä lisättyä järjestystä. Toisaalta elementtien noutaminen sanakirjasta säilyttää lisätyn järjestyksen.
Langan turvallisuus
Esimerkki syntaksista
Hashtable ht = uusi Hashtable ();
Sanakirjasanakirja = uusi sanakirja ();.
Johtopäätös
Ero Hashtablen ja Dictionaryn välillä on, että Hashtable on heikosti kirjoitettu tietorakenne, joten on mahdollista lisätä minkä tahansa tyyppisiä avaimia ja arvoja, kun taas Sanakirja on voimakkaasti kirjoitettu tietorakenne, joten on mahdollista lisätä vain määritettyjä elementtejä tietotyypit sekä avaimelle että arvolle.
Viite:
1. "C# Hashtable Class". Www.tutorialspoint.com, Tutorials Point, 21. heinäkuuta 2018, saatavana täältä. “C# hashtable.” Tietotyypit C#: ssa, opetusohjelmat Opettaja. Saatavana täältä 3. "C# Sanakirja - Javatpoint." Www.javatpoint.com, saatavilla täältä.