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