2. |
Hashtable'in güzelliği; eklediğiniz anahtar kelimeyle ilişkili değeri eliyle koymuş gibi (hızlı) bulabilmesidir. Hashtable'da amaç da budur zaten; 0, 1, 2,.. gibi anlamsız indislerle veriye erişmek yerine veriye bir isim (anahtar kelime; key) verip o isimle erişmektir. Böylece sayısal indis kullanıyormuşçasına hızlı ve fakat daha anlaşılır indisler ile verinize erişirsiniz.
Sonuç itibariyle siz her ne kadar anahtar kelime de kullansanız, verileriniz bir dizi üzerinde tutulur ve sayısal indis ile erişilir. Sizin belirttiğiniz anahtar kelime hashing algoritmaları yardımıyla sayısal indekse dönüştürülür. Olayın karanlık iç yüzü budur. Bu konu biraz akademik seviyede olduğu için bu konuda atıp tutmayı ayıp sayarım.
Hashtable nasıl kullanılır? Gayet kolay. İşte bir C# örneği:
public static void Main()
{
// Hashtable oluşturalım.
Hashtable ht = new Hashtable();
ht.Add("ad", "Preveze Deniz Savaşı");
ht.Add("tarih", 1594);
ht.Add("kaptaniderya", "Barbaros Hayrettin Paşa"); // not: salladım bunları, doğru diil yani
// Hashtable'da saklanan değer sayisi
Console.WriteLine( " Değer sayısı: {0}", ht.Count );
// Hashtable'ın değerlerini gösterelim
Console.WriteLine( " Anahtar ve değerler:" );
IDictionaryEnumerator list = ht.GetEnumerator();
while( list.MoveNext() )
Console.WriteLine("\t{0}:\t{1}", list.Key, list.Value);
}
fizikci
28 Mayıs 2005 08:21 ~ 22 Kasım 2005 10:59
#1181
|