Rumah  >  Artikel  >  Java  >  Bagaimanakah HashTable berfungsi di Java?

Bagaimanakah HashTable berfungsi di Java?

王林
王林ke hadapan
2023-08-19 18:53:081177semak imbas

Bagaimanakah HashTable berfungsi di Java?

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.

Cara Hashtable berfungsi dalam 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.

Formula untuk memperuntukkan indeks

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.

Perlanggaran dalam Hashtable

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.

Sintaks untuk mengisytiharkan Hashtable

Hashtable<TypeOfKey, TypeOfValue> nameOfTable = new Hashtable<>();

Kaedah

  • 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

  • Nilai yang dikaitkan dengan kunci.

Contoh 1

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));
      }
   }
}

Output

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

Contoh 2

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"));
   }
}

Output

Value stored at key Ansh: 3000
Value stored at key Vivek: 1500
Value stored at key Aman: 2000

Kesimpulan

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!

Kenyataan:
Artikel ini dikembalikan pada:tutorialspoint.com. Jika ada pelanggaran, sila hubungi admin@php.cn Padam