Perbezaan Antara Hashtable dan Kamus
Isi kandungan:
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.