Hashtable

Array ve ArrayList için bir elemana ancak o elemanın indeks numarası ile erişebiliyorduk. Hashtable ile ise bir koleksiyon elemanına bir anahtar değer ile erişebiliriz. Hashtable, IDictionary arayüzünden türemiştir. Hashtable yapısında her eleman bir key ve value ikilisi olarak saklanmaktadır ve bunlar hashtable adı verilen bir tabloda tutulur. Diğer dizi yapılarına göre oldukça yüksek performanslıdır.

Hashtable bir nevi bir sözlük yapısı gibidir, bir kelime ve bu kelimenin anlamı gibi düşünülürse daha rahat anlaşılabilir.

Bir hashtable tanımlayıp buna değer atama işlemi şu şekilde olabilir :

Hashtable ht = new Hashtable();
ht.Add(“A”, “Ali”);
ht.Add(“B”, “Baki”);
ht.Add(“C”, “Ceren”);

//indexer ile ekleme..
ht[“D”] = “Deniz”;
Burada Add komutu görüldüğü gibi iki parametre almıştır, birinci parametre key ikinci parametre ise Value.. Her iki parametrede object türündendir. Yani her türdeki nesneyi key veya value olarak Hashtable için tanımlayabiliriz. Son eklememde görüldüğü gibi indekexer şeklinde de ekleme yapabilirim. Direkt olarak ?D? indeksli daha doğrusu ?D? key?ine sahip bir Deniz elemanı.
Eğer aynı daha önceden var olan bir key?de yeni bir üye eklersem, ArgumentException hatası alırım. Yani aynı key?e sahip iki üye aynı Hashtable dizisi içinde yer alamaz.
Bir Hashtable içindeki elemanlara anahtar değerleri ile ulaşılabileceği gibi bunlara foreach ile de ulaşılabilmektedir. foreach döngüsü ile ulaşmak istediğimizde Hashtable elemanları ICollection arayüzü türünde bir nesneye atılır ve bu şekilde ulaşırız.
Şimdi aşağıdaki örnek ile çok sık kullanılan Hashtable metotlarını ve özelliklerini görelim :

Bir cevap yazın

E-posta hesabınız yayımlanmayacak. Gerekli alanlar * ile işaretlenmişlerdir