Latest web development tutorials

Java Hashtable interfaccia

Tabella hash è parte del java.util originale è un dizionario concreta attuazione.

Tuttavia, Java 2 ricostruzione Hashtable implementa l'interfaccia Map, così, Hashtable è ora integrato nel quadro collezioni. E 'classe HashMap è molto simile, ma supporta la sincronizzazione.

Come Come HashMap, Hashtable in una tabella hash per memorizzare coppie chiave / valore. Quando si usa una tabella hash, per specificare l'oggetto come una chiave, e si desidera collegare al valore del titolo.

Quindi, la chiave viene assegnata e il codice hash risultante è usato come indice per memorizzare i valori nella tabella.

Hashtable definisce quattro costruttore. Il primo è il costruttore di default:

Hashtable()

Il secondo costruttore crea una dimensione tabella hash specificato:

Hashtable(int size)

Il terzo costruttore crea una dimensione specifica della tabella hash, e specificare la percentuale di riempimento da fillRatio.

il grado di riempimento deve essere compresa tra 0.0 e 1.0, che determina la piena portata della tabella hash prima di ri-dimensionamento:

Hashtable(int size,float fillRatio)

Il quarto costruttore crea un elemento per l'elemento M nella tabella hash viene inizializzata.

La capacità della tabella hash è destinato a raddoppiare M.

Hashtable(Map m)

Hashtable in aggiunta ai metodi definiti nell'interfaccia Map, ma definisce anche i seguenti metodi:

No. metodo Descrizione
1 annullare chiaro ()
Cancella questa tabella hash in modo che esso non contiene le chiavi.
2 clone di Object ()
Di creare una copia di questa tabella di hash.
3 boolean contains (Object value)
Se c'è un valore associato con il test chiave specificata questa tabella di mapping.
4 containsKey booleano (Object key)
Verifica se l'oggetto specificato è una chiave in questa tabella hash.
5 booleano containsValue (Object value)
Se questo Hashtable mappe una o più chiavi di questo valore, restituisce vero.
6 Elementi Enumeration ()
Restituisce una tabella di hash valori di enumerazione.
7 Object get (Object key)
Restituisce la chiave specificata è mappato al valore, se questa mappa non contiene mapping per questa chiave, restituisce null. Più formalmente, se questa mappa contiene (key.equals (k)) dalla chiave k per un valore v Mapping , allora questo metodo restituisce v; altrimenti restituisce null.
8 boolean isEmpty ()
Verifica se questa tabella hash mappe nessun tasto di valori.
9 Tasti Enumeration ()
Restituisce una enumerazione delle chiavi della tabella hash.
10 put oggetto (Object key, Object value )
La chiave specificata viene mappato sul valore specificato tabella hash.
11 rimaneggiamento void ()
Aumentare la capacità della tabella hash e la sua riorganizzazione interna, per gestire meglio e accedere ai suoi elementi.
12 Object remove (Object key)
Rimuovere la chiave e il suo valore corrispondente dalla tabella hash.
13 int size ()
Restituisce il numero di chiavi di questa tabella di hash.
14 String toString ()
Restituisce una rappresentazione in formato stringa dell'oggetto Hashtable sotto forma di caratteri ASCII "," (virgola e lo spazio) separati, racchiusi tra parentesi e una serie di voci.

Esempi

Il seguente programma illustra questa struttura dati supporta diversi metodi:

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

Gli esempi sopra risultati elaborati sono i seguenti:

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

Zara's new balance: 4434.34