Perbezaan Antara Hashtable dan Kamus

Isi kandungan:

Anonim

The perbezaan utama antara Hashtable dan Kamus ialah bahawa Hashtable adalah struktur data yang ditaip lemah sehingga mungkin untuk menambahkan kunci dan nilai dari jenis apa pun sedangkan Kamus adalah struktur data yang ditaip kuat sehingga hanya mungkin untuk menambahkan elemen yang memenuhi jenis data yang ditentukan untuk kedua-dua kunci dan nilai.

Hashtable dan kamus adalah dua struktur data utama. Mereka berdua dapat menyimpan data sebagai pasangan nilai utama. Hashtable atau Kamus hanya boleh mengandungi kekunci unik. Pengaturcara dapat mencari atau membuang nilai tertentu menggunakan kunci. Hashtable tidak ditaip dengan kuat. Oleh itu, pengaturcara dapat menambahkan unsur pasangan kunci-nilai apa pun ke Hashtable. Sebaliknya, Kamus sangat ditaip. Pengaturcara harus menentukan jenis data kunci dan nilai. Tidak mustahil untuk menambahkan elemen yang tidak memenuhi jenis data yang diberikan. Sebagai contoh, jika Kamus mempunyai jenis generik, pengaturcara hanya dapat menambahkan elemen dengan kunci jenis int dan nilai jenis rentetan.

Kamus, Hashtable, Struktur Data

Apakah Jenis Data Generik

Jenis data generik adalah jenis data yang membolehkan pengguna menentukan kelas dan kaedah dengan pemegang tempat. Penyusun seperti C # dapat menggantikan tempat letak dengan jenis data yang ditentukan pada waktu kompilasi. Ia digunakan untuk membuat kelas dan kaedah tujuan umum. Semasa menentukan kelas generik, pengaturcara harus menggunakan tanda kurung sudut (). Kurungan ini menyatakan kelas atau kaedah sebagai jenis generik.

Apa itu Hashtable

Hashtable adalah struktur data yang menerapkan jenis data abstrak array asosiatif, struktur yang dapat memetakan kunci kepada nilai. Ia bukan jenis data generik. Rujuk sekeping kod seperti berikut.

Gambar 1: Program C # dengan Hashtable

Dalam program di atas, angka adalah objek jenis Hashtable. Pasangan nilai kunci ditambahkan ke Hashtable. Dari pernyataan 15 hingga 17, kunci adalah jenis int dan nilainya adalah rentetan jenis. Dalam pernyataan 18, kunci dan nilai adalah rentetan. Hashtable adalah struktur data yang ditaip mingguan. Oleh itu, pengaturcara dapat menambahkan kunci dan nilai apa sahaja ke Hashtable.

Gambar 2: Output Program HashTable

Output program adalah seperti di atas. Hashtable tidak mencetak rekod mengikut urutan di mana elemen ditambahkan. Oleh itu, ia tidak mengekalkan susunan yang dimasukkan.

Apa itu Kamus

Kamus menggunakan konsep Hashtable. Ia adalah jenis data generik. Rujuk program di bawah. nama adalah objek jenis Kamus. Ia mempunyai jenis data khusus untuk menyimpan kunci dan nilai. Menurut program ini, jenis generik didefinisikan sebagai. Oleh itu, semasa menambahkan elemen ke kamus, kedua-dua kunci dan nilai haruslah jenis rentetan.

Gambar 3: Program C # dengan Kamus

Semua elemen yang ditambahkan pada kamus di atas mempunyai pasangan kunci dan nilai jenis String. Mencetak kunci dan nilai ke konsol akan memberikan output yang serupa dengan gambar 4. Mengambil item dari Kamus akan mencetak rekod dalam urutan yang sama dengan elemen yang ditambahkan. Oleh itu, ia mengekalkan susunan yang dimasukkan.

Gambar 4: Output Program Kamus

Secara keseluruhan, Kamus cepat dalam pelaksanaan tetapi tidak memberikan keselamatan utas.

Perbezaan Antara Hashtable dan Kamus

Definisi

Hashtable adalah struktur data yang menerapkan jenis data abstrak array asosiatif, struktur yang dapat memetakan kunci kepada nilai. Kamus adalah struktur data berdasarkan Hashtable yang menyimpan nilai berdasarkan kunci.

Menambah Elemen

Tambahan pula, Hashtable adalah struktur data yang ditaip lemah. Oleh itu, pengaturcara dapat menambahkan kunci dan nilai dari sebarang jenis objek ke Hashtable. Kamus adalah struktur data yang sangat ditaip. (

Jenis

Juga, Hashtable tidak generik sementara Kamus adalah jenis generik.

Kelajuan Pelaksanaan

Di samping itu, terdapat tinju dan unboxing di Hashtable tetapi tidak di Kamus. Kamus menggunakan memori minimum dan dijalankan lebih pantas daripada Hashtable.

Mengambil Elemen

Mengambil elemen dalam Hashtable tidak mengekalkan susunan yang dimasukkan. Sebaliknya, mengambil elemen dari Kamus mengekalkan susunan yang disisipkan.

Keselamatan Benang

Sintaksis Contoh

Hashtable ht = Hashtable baru ();

Kamus kamus = Kamus baru ();.

Kesimpulannya

Perbezaan antara Hashtable dan Kamus adalah bahawa Hashtable adalah struktur data yang ditaip lemah sehingga mungkin untuk menambahkan kunci dan nilai dari jenis apa pun sedangkan Kamus adalah struktur data yang ditaip kuat sehingga hanya mungkin untuk menambahkan elemen yang memenuhi yang ditentukan jenis data untuk kedua-dua kunci dan nilai.

Rujukan:

1. "Kelas C # Hashtable." Www.tutorialspoint.com, Tutorial Point, 21 Julai 2018, Terdapat di sini.2. "C # Hashtable." Jenis Data di C #, Tutorial Guru. Terdapat di sini.3. "C # Kamus - Javatpoint." Www.javatpoint.com, Terdapat di sini.

Perbezaan Antara Hashtable dan Kamus