Kelas Hashtable ialah sebahagian daripada Rangka Kerja Koleksi Java yang menyimpan elemennya dalam pasangan nilai kunci dalam jadual cincangan The Key ialah objek yang boleh digunakan untuk mengambil dan menerima nilai yang dikaitkan dengannya beberapa persamaan antara Hashtable dan HashMapclass tetapi jadual Hash disegerakkan Selain itu, kuncinya mesti dikaitkan dengan nilai, ia tidak boleh menjadi batal Artikel ini bertujuan untuk menerangkan cara jadual Hash berfungsi secara dalaman di Java.
Kita boleh menganggap Hashtable sebagai susunan baldi, setiap baldi mengandungi senarai entri. Entri terdiri daripada kunci dan nilai. Kami menentukan kunci dan nilai yang boleh dikaitkan dengan kunci itu. Kunci kemudian dicincang untuk menghasilkan kod cincang yang selanjutnya digunakan sebagai indeks dalam jadual di mana nilai disimpan. Fungsi yang membantu dalam mendapatkan kedudukan nilai daripada kod cincang dipanggil fungsi cincang. Ia sentiasa mengembalikan nilai integer positif yang dipanggil kod cincang. Berbilang objek mungkin memperoleh nilai integer yang sama selepas penilaian melalui kaedah terbina dalam yang dipanggil "equals()". Walau bagaimanapun, objek yang serupa sentiasa mempunyai kod cincang yang sama.
nombor indeks = hashNumber % jumlah Baldi
Di sini, '%' ialah pengendali modulo yang mengembalikan baki
Mari kita berikan contoh untuk menunjukkan penggunaan formula di atas -
Q Katakan kita mendapat elemen bernama XYZ dengan nilai hash 17 dan jumlahnya baldi yang ada ialah 5. Kemudian, cari pada nombor indeks yang mana ia akan disimpan?
Penyelesaian − 17 % 5 = 2 Oleh itu, ia akan mendapat nombor indeks 2.
Seperti yang dibincangkan sebelum ini, berbilang objek mungkin mendapat kod cincang yang sama yang membawa kepada situasi yang dipanggil perlanggaran Ia berlaku apabila dua atau lebih kunci mempunyai nilai cincang yang sama dan dipetakan kepada baldi yang terhasil dalam prestasi perlahan kekeliruan fungsi.
Hashtable<TypeOfKey, TypeOfValue> nameOfTable = new Hashtable<>();
Langkah pertama ialah mengimport pakej 'java.util' supaya kita boleh menggunakan kelas Hashtable
Tentukan contoh kelas Hashtable dan tambahkan beberapa objek ke dalamnya menggunakan Kaedah terbina dalam bernama 'put()'.
Sekarang, gunakan untuk setiap gelung dan gunakan kaedah 'keySet()' di dalamnya untuk mengakses semua kekunci
Contoh berikut menggambarkan cara kita boleh melaksanakan Hashtable di Java.
import java.util.*; public class Table { public static void main(String[] args) { Hashtable<String, Integer> workers = new Hashtable<>(); // Adding elements in the workers table workers.put("Vaibhav", 4000); workers.put("Ansh", 3000); workers.put("Vivek", 1500); workers.put("Aman", 2000); workers.put("Tapas", 2500); // printing details workers table System.out.println("Elements in the given table: "); for (String unKey : workers.keySet()) { System.out.println("Name: " + unKey + ", Salary: " + workers.get(unKey)); } } }
Elements in the given table: Name: Aman, Salary: 2000 Name: Ansh, Salary: 3000 Name: Tapas, Salary: 2500 Name: Vivek, Salary: 1500 Name: Vaibhav, Salary: 4000
Dalam contoh berikut, kami akan mendapatkan semula nilai Jadual Hash dengan menggunakan kaedah terbina dalam 'get()' Kaedah ini menerima kunci dan mengembalikan nilai yang sepadan.
import java.util.*; public class Table { public static void main(String[] args) { Hashtable<String, Integer> workers = new Hashtable<>(); // Adding elements in the workers table workers.put("Vaibhav", 4000); workers.put("Ansh", 3000); workers.put("Vivek", 1500); workers.put("Aman", 2000); workers.put("Tapas", 2500); // printing details workers table one by one System.out.println("Value stored at key Ansh: " + workers.get("Ansh")); System.out.println("Value stored at key Vivek: " + workers.get("Vivek")); System.out.println("Value stored at key Aman: " + workers.get("Aman")); } }
Value stored at key Ansh: 3000 Value stored at key Vivek: 1500 Value stored at key Aman: 2000
Kami memulakan artikel ini dengan mentakrifkan kelas Hashtable dan dalam bahagian seterusnya, kami menerangkan cara ia berfungsi secara dalaman melalui contoh Kemudian, kami membincangkan pelaksanaan praktikal Hashtable melalui program contoh Java.
Atas ialah kandungan terperinci Bagaimanakah HashTable berfungsi di Java?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!