En hash tabel er en datastruktur , der bruger en associeret array til kortlægge unik " key- value " par og gemme data. For eksempel vinder en atlet, der afslutter først ( nøglen ) en guldmedalje ( værdien). Fordi der kun kan være én første -plads vinder, du garantere , at du ikke vil duplikere den specifikke nøgle i hash tabellen. Hash tabeller reducere overhead for at søge efter data i forhold til nogle andre datastrukturer. Visual Basic har en Hashtable klasse med flere nyttige metoder, som du kan implementere i dine projekter i stedet for at skabe din egen helt fra bunden. Instruktioner
1
Åbn et nyt Visual Basic-projekt . Dobbeltklik på " Button " kontrol fire gange for at tilføje " Button1 " igennem " Button4 " til den form og arrangere dem som du vil. Skift "Tekst " ejendom for " Button1 " til " Tilføj " for " button2 " til "Fjern " for " button3 " til " Vis alle" og for " Button4 " til " Clear ".
2
Tryk på " F7 " for at åbne koden vinduet. Indtast følgende kode på den første linje : Hej
Import System.Collections
import af System.Collections namespace i projektet. Den indeholder Hashtable klassen
3
Åbn " Form1 " klasse og skriv følgende kode : .
Dim MyHashTable Som New Hashtable ()
dette skaber et nyt objekt kaldet " MyHashTable " der bruger Hashtable klassen
4
Åbn " Button1_Click " subrutine og skriv følgende kode : .
Prøv
MyHashTable.Add ("Første ", " Gold" )
MyHashTable.Add ( "Second ", " Sølv" )
MyHashTable.Add ( "Third ", " Bronze " ) < br >
Fang ex Som Exception
MessageBox.Show ( "Dupliker nøgle" )
End Prøv
Disse linjer bruge " Add "-metoden til at tilføje tre nye punkter til hash tabel med "First ", " Second " og " Third ", som tasterne og " Gold", "Silver " og " Bronze ", som deres respektive værdier. Du kan få de nøgleværdipar fra andre steder i programmet , såsom en bruger InputBox , TextBox kontrol eller andre markeringer under kørslen. Tilføjelse disse elementer i en " try-catch " blok sikrer, at hvis du forsøger at tilføje et element med en nøgle, der allerede findes i hash tabellen , betyder det ikke crashe programmet.
5.
Åbn " Button2_Click " subrutine og skriv følgende kode : Hej p Hvis ( MyHashTable.Count = 0) Så
MsgBox ( " hashtabelsamling er tom " )
Else
< p> MyHashTable.Remove ( MyHashTable.Count )
End If
Disse linjer bruge " Count" metode til at se, om hash tabellen er tom allerede . Hvis ja, fortæller programmet brugeren , hvis ikke, det fjerner den seneste element. Du kan programmere alternative måder at fjerne elementer fra hash tabellen
6
Åbn " Button3_Click " subrutine og skriv følgende kode : .
P Hvis MyHashTable.Count = 0 Then < br >
MsgBox ( " Ingen varer i hashtabelsamling " )
Else
For i = 0 Til MyHashTable.Count - 1
MsgBox ( MyHashTable.Keys ( i) . ToString & " , " & MyHashTable.Values ( i))
Næste jeg
End If
Disse linjer tjek først, om nogen findes poster i hash tabellen . Hvis ikke, bliver brugeren informeret om, at bordet er tom , ellers er alle de nøgleværdipar vises. Fordi hash tabeller bruger nul - indeksering , skal du tælle op til denne hash tabel er " count" minus én
7
Åbn " Button4_Click " subrutine og skriv følgende kode : .
< P > MyHashTable.Clear ()
Denne metode sletter alle poster i hash tabellen. Du behøver ikke at tjekke først , hvis tabellen er tom eller ej, fordi rydde en tom tabel ikke forårsager en fejl.