A hash tabell er en datastruktur som bruker en knytte rekke å kartlegge unike " nøkkel-verdi " par og lagre data . For eksempel , vinner en idrettsutøver som avslutter først (nøkkelen ) en gullmedalje ( verdien). Fordi det kan bare være en første - plass vinneren , garanterer deg at du ikke vil kopiere den bestemte nøkkelen i hash table . Hash tabeller redusere overhead for å lete etter data i forhold til noen andre datastrukturer . Visual Basic har en Hashtable klasse med flere nyttige metoder som du kan implementere i prosjektene dine i stedet for å lage dine egne fra bunnen av. Instruksjoner
en
Åpne et nytt Visual Basic-prosjekt . Dobbeltklikk på " Button" kontroll fire ganger for å legge til " Button1 " gjennom " button4 " til skjemaet og arrangere dem som du vil. Endre " Text " eiendom for " Button1 " til " Legg til" for " Button2 " til " Fjern " for " Button3 " til " Vis alle" og for " button4 " til " Clear ".
2
Trykk " F7 " for å åpne koden vinduet. Skriv inn følgende kode på første linje : en
Import System.Collections
Dette importerer System.Collections namespace inn i prosjektet . Den inneholder Hashtable klasse
3
Åpne " Form1 " class og skriv inn følgende kode : .
Dim MyHashTable som ny Hashtable ( )
dette skaper et nytt objekt kalt " MyHashTable " som bruker Hashtable klasse
4
Åpne " button1_click " subrutine og skriv inn følgende kode : .
Prøv
MyHashTable.Add ( " First" , "Gold" )
MyHashTable.Add ( "Andre " , "Silver ")
MyHashTable.Add ( "Third ", " Bronze ")
Catch ex As Exception
MessageBox.Show ( " Duplicate Key ")
End Prøv
Disse linjene bruke " add "-metoden for å legge til tre nye elementer til hash table med " First ", " Second " og " Third " som nøklene og "Gold ", " Silver " og " Bronze " som sine respektive verdier. Du kan få nøkkel - verdi par fra et annet sted i programmet , for eksempel en bruker InputBox , TextBox kontroller eller andre valg under kjøring. Legge til disse elementene i en " try-catch " block sikrer at hvis du prøver å legge til et element med en nøkkel som allerede finnes i hash table , betyr det ikke krasje programmet.
5
Åpne " Button2_Click " subrutine og skriv inn følgende kode :
p Hvis ( MyHashTable.Count = 0) Then
MsgBox ( " Hashtable er tom" )
Else
< p> MyHashTable.Remove ( MyHashTable.Count )
End If
Disse linjene bruke " Count "-metoden for å se om hash tabellen allerede er tom . Hvis så , forteller programmet at brukeren , hvis ikke , fjerner det siste elementet . Du kan programmere alternative måter å fjerne elementer fra hash table
6
Åpne " Button3_Click " subrutine og skriv inn følgende kode : .
P Hvis MyHashTable.Count = 0 Then
MsgBox ( " Tom Hashtable ")
Else
For i = 0 For å MyHashTable.Count - en
MsgBox ( MyHashTable.Keys ( i) . toString & " , " & MyHashTable.Values ( i) )
Neste i
End If
Disse linjene sjekk først for å se om noen oppføringer finnes i hash table . Hvis ikke, blir brukeren informert om at bordet er tomt , ellers er alle de nøkkelverdipar vises. Fordi hash tabeller bruker null - indeksering, må du telle opp til denne hash tabellen "teller " minus én
7
Åpne " Button4_Click " subrutine og skriv inn følgende kode : .
< P > MyHashTable.Clear ( )
Denne metoden sletter alle oppføringer i hash table . Du trenger ikke å først sjekke om den er tom eller ikke, fordi fjerne en tom tabell ikke forårsaker en feil.