Latest web development tutorials

Java Hashtable Antarmuka

Hashtable adalah bagian dari java.util asli adalah implementasi konkret Dictionary.

Namun, Java 2 rekonstruksi Hashtable mengimplementasikan antarmuka Peta, sehingga, Hashtable sekarang terintegrasi ke dalam kerangka koleksi. Ini kelas HashMap sangat mirip, tetapi mendukung sinkronisasi.

Seperti seperti HashMap, Hashtable dalam tabel hash untuk menyimpan pasangan kunci / nilai. Bila menggunakan tabel hash, untuk menentukan objek sebagai kunci, dan Anda ingin link ke nilai obligasi.

Kemudian, kuncinya adalah hash dan kode hash yang dihasilkan digunakan sebagai indeks untuk menyimpan nilai-nilai dalam tabel.

Hashtable mendefinisikan empat konstruktor. Yang pertama adalah konstruktor default:

Hashtable()

Konstruktor kedua menciptakan ukuran tabel hash tertentu:

Hashtable(int size)

Konstruktor ketiga menciptakan ukuran tertentu dari tabel hash, dan menentukan mengisi proporsi oleh fillRatio.

Mengisi rasio harus antara 0,0 dan 1,0, yang menentukan sepenuhnya tabel hash sebelum ulang ukuran:

Hashtable(int size,float fillRatio)

Konstruktor keempat menciptakan sebuah elemen ke elemen M dalam tabel hash diinisialisasi.

Kapasitas dari tabel hash diatur untuk menggandakan M.

Hashtable(Map m)

Hashtable di samping metode yang didefinisikan dalam antarmuka Peta, tetapi juga mendefinisikan metode berikut:

Tidak. metode Deskripsi
1 membatalkan jelas ()
Membersihkan hashtable ini sehingga tidak mengandung kunci.
2 Objek clone ()
Membuat copy dangkal tabel hash ini.
3 boolean berisi (nilai Object)
Apakah ada nilai yang terkait dengan ujian kunci yang ditentukan tabel pemetaan ini.
4 boolean containsKey (key Object)
Tes jika objek tertentu adalah kunci dalam hashtable ini.
5 boolean containsValue (nilai Object)
Jika Hashtable ini peta satu atau lebih kunci untuk nilai ini, ia mengembalikan benar.
6 unsur pencacahan ()
Mengembalikan tabel hash nilai pencacahan.
7 Objek get (key objek)
Mengembalikan kunci tertentu dipetakan ke nilai, jika peta ini tidak mengandung pemetaan untuk kunci ini, ia mengembalikan null. Lebih formal, jika peta ini mengandung (key.equals (k)) dari k kunci untuk nilai v Pemetaan , maka metode ini mengembalikan v, jika tidak ia mengembalikan null.
8 boolean isEmpty ()
Tes jika hashtable ini peta tidak ada tombol untuk nilai-nilai.
9 Kunci pencacahan ()
Mengembalikan penghitungan tombol tabel hash.
10 Objek put (key objek, nilai objek )
Kuncinya ditentukan dipetakan ke nilai yang ditentukan tabel hash.
11 kekosongan pengulangan ()
Meningkatkan kapasitas tabel hash dan reorganisasi internal untuk lebih mengakomodasi dan mengakses unsur-unsurnya.
12 Objek hapus (key objek)
Hapus kunci dan nilai yang sesuai dari tabel hash.
13 Ukuran int ()
Mengembalikan jumlah kunci dalam tabel hash ini.
14 String toString ()
Mengembalikan representasi string dari objek Hashtable dalam bentuk karakter ASCII "," (koma dan spasi) dipisahkan, diapit oleh kurung dan satu set entri.

contoh

Program berikut ini merupakan struktur data ini mendukung beberapa metode:

import java.util.*;

public class HashTableDemo {

   public static void main(String args[]) {
      // Create a hash map
      Hashtable balance = new Hashtable();
      Enumeration names;
      String str;
      double bal;

      balance.put("Zara", new Double(3434.34));
      balance.put("Mahnaz", new Double(123.22));
      balance.put("Ayan", new Double(1378.00));
      balance.put("Daisy", new Double(99.22));
      balance.put("Qadir", new Double(-19.08));

      // Show all balances in hash table.
      names = balance.keys();
      while(names.hasMoreElements()) {
         str = (String) names.nextElement();
         System.out.println(str + ": " +
         balance.get(str));
      }
      System.out.println();
      // Deposit 1,000 into Zara's account
      bal = ((Double)balance.get("Zara")).doubleValue();
      balance.put("Zara", new Double(bal+1000));
      System.out.println("Zara's new balance: " +
      balance.get("Zara"));
   }
}

Contoh di atas hasil disusun adalah sebagai berikut:

Qadir: -19.08
Zara: 3434.34
Mahnaz: 123.22
Daisy: 99.22
Ayan: 1378.0

Zara's new balance: 4434.34