Hashtable ve Sözlük Arasındaki Fark

İçindekiler:

Anonim

NS asıl fark Hashtable ve Sözlük arasındaki Hashtable, zayıf yazılmış bir veri yapısıdır, bu nedenle Sözlük kesin olarak yazılmış bir veri yapısıyken herhangi bir türden anahtar ve değer eklemek mümkündür, bu nedenle yalnızca hem anahtar hem de değer için belirtilen veri türlerini karşılayan öğeleri eklemek mümkündür.

Hashtable ve sözlük iki ana veri yapısıdır. Her ikisi de verileri anahtar değer çiftleri olarak tutabilir. Bir Hashtable veya Sözlük yalnızca benzersiz anahtarlar içerebilir. Programcı, anahtarı kullanarak belirli bir değeri bulabilir veya kaldırabilir. Hashtable kesinlikle yazılmamış. Bu nedenle, programcı Hashtable'a anahtar/değer çiftinin herhangi bir öğesini ekleyebilir. Öte yandan, Sözlük güçlü bir şekilde yazılmıştır. Programcı, anahtarların ve değerlerin veri türlerini belirtmelidir. Verilen veri tiplerini karşılamayan elemanlar eklemek mümkün değildir. Örneğin, Sözlük genel bir türe sahipse, programcı yalnızca int türü anahtarları ve dize türü değerleri olan öğeler ekleyebilir.

Sözlük, Hashtable, Veri Yapıları

Genel Veri Türü Nedir?

Genel bir veri türü, kullanıcının yer tutucularla sınıfları ve yöntemleri tanımlamasına izin veren bir veri türüdür. C# gibi derleyiciler, derleme zamanında yer tutucuları belirtilen veri türüyle değiştirebilir. Genel amaçlı sınıflar ve yöntemler oluşturmak için kullanılır. Genel bir sınıf tanımlarken, programcı açılı ayraçlar () kullanmalıdır. Bu parantezler, bir sınıfı veya yöntemi genel tür olarak bildirir.

Hashtable nedir?

Hashtable, anahtarı değerlerle eşleyebilen bir ilişkisel dizi soyut veri türü uygulayan bir veri yapısıdır. Genel bir veri türü değildir. Aşağıdaki gibi bir kod parçasına bakın.

Şekil 1: Hashtable ile C# programı

Yukarıdaki programda, sayılar Hashtable türünde bir nesnedir. Anahtar/değer çiftleri Hashtable'a eklenir. 15'ten 17'ye kadar olan ifadeler, anahtarlar int tipindedir ve değerler string tipindedir. 18 numaralı ifadede, anahtar ve değer dizelerdir. Hashtable, haftalık olarak yazılan bir veri yapısıdır. Bu nedenle, programcı Hashtable'a herhangi bir türden anahtar ve değer ekleyebilir.

Şekil 2: HashTable Program çıktısı

Programın çıktısı yukarıdaki gibidir. Hashtable, kayıtları eklenen öğelerin sırasına göre yazdırmaz. Bu nedenle, eklenen sırayı korumaz.

Sözlük nedir

Bir sözlük Hashtable kavramını kullanır. Genel bir veri türüdür. Aşağıdaki programa bakın. isimler bir Sözlük tipi nesnedir. Anahtarlar ve değerler için depolanacak belirli veri türleri vardır. Bu programa göre jenerik tipler. Bu nedenle sözlüğe eleman eklerken hem anahtarlar hem de değerler string türünde olmalıdır.

Şekil 3: Sözlüklü C# programı

Yukarıdaki sözlüğe eklenen tüm öğeler, String türünde anahtar ve değer çiftlerine sahiptir. Anahtar ve değerlerin konsola yazdırılması, şekil 4'e benzer bir çıktı verecektir. Sözlükten öğelerin alınması, öğelerin eklendiği sırada kayıtları yazdıracaktır. Bu nedenle, eklenen sırayı korur.

Şekil 4: Sözlük Programı Çıktısı

Genel olarak, Sözlük yürütmede hızlıdır ancak iş parçacığı güvenliği sağlamaz.

Hashtable ve Sözlük Arasındaki Fark

Tanım

Hashtable, anahtarı değerlerle eşleyebilen bir ilişkisel dizi soyut veri türü uygulayan bir veri yapısıdır. Sözlük, değerleri anahtarlar temelinde depolayan Hashtable'a dayalı bir veri yapısıdır.

Öğe Ekleme

Ayrıca Hashtable, zayıf yazılmış bir veri yapısıdır. Bu nedenle, programcı Hashtable'a herhangi bir nesne türünün anahtarlarını ve değerlerini ekleyebilir. Sözlük, kesin olarak yazılan veri yapısıdır. (

Tip

Ayrıca Hashtable jenerik değilken Dictionary jenerik tiptedir.

Yürütme Hızı

Ayrıca Hashtable'da kutulama ve kutudan çıkarma var ama Sözlük'te yok. Sözlük, minimum bellek tüketir ve Hashtable'dan daha hızlı yürütülür.

Öğeleri Alma

Hashtable'daki öğeleri almak, eklenen sırayı korumaz. Öte yandan, öğeleri bir Sözlükten almak, eklenen sırayı korur.

İplik Güvenliği

Örnek Sözdizimi

Hashtable ht = new Hashtable();

Sözlük sözlüğü = yeni Sözlük();.

Çözüm

Hashtable ve Dictionary arasındaki fark, Hashtable'ın zayıf yazılmış bir veri yapısı olmasıdır, bu nedenle Sözlük güçlü bir şekilde yazılmış bir veri yapısıyken herhangi bir türden anahtar ve değer eklemek mümkündür, bu nedenle yalnızca belirtilenleri karşılayan öğeleri eklemek mümkündür. hem anahtar hem de değer için veri türleri.

Referans:

1. “C# Hashtable Sınıfı.” Www.tutorialspoint.com, Tutorials Point, 21 Temmuz 2018, Buradan ulaşabilirsiniz.2. "C# Hashtable." C#'da Veri Türleri, Öğreticiler Öğretmeni. Burada mevcuttur.3. “C# Sözlüğü – Javatpoint.” Www.javatpoint.com, Buradan ulaşabilirsiniz.

Hashtable ve Sözlük Arasındaki Fark