logo

Clasa Java Hashtable

Clasa Java Hashtable implementează un hashtable, care mapează cheile la valori. Moștenește clasa Dicționar și implementează interfața Map.

Puncte de reținut

  • Un hashtable este o matrice a unei liste. Fiecare listă este cunoscută ca o găleată. Poziția găleții este identificată prin apelarea metodei hashcode(). Un hashtable conține valori bazate pe cheie.
  • Clasa Java Hashtable conține elemente unice.
  • Clasa Java Hashtable nu permite cheia sau valoarea nulă.
  • Clasa Java Hashtable este sincronizată.
  • Capacitatea implicită inițială a clasei Hashtable este 11, în timp ce loadFactor este 0,75.

Declarație de clasă Hashtable

Să vedem declarația pentru clasa java.util.Hashtable.

 public class Hashtable extends Dictionary implements Map, Cloneable, Serializable 

Clasa hashtable Parametri

Să vedem Parametrii pentru clasa java.util.Hashtable.

    K: Este tipul de chei menținute de această hartă.ÎN: este tipul de valori mapate.

Constructorii clasei Java Hashtable

ConstructorDescriere
Hashtable()Acesta creează un hashtable gol având capacitatea și factorul de încărcare implicit inițial.
Hashtable (capacitate int)Acceptă un parametru întreg și creează un tabel hash care conține o capacitate inițială specificată.
Hashtable (capacitate int, factor de încărcare float)Este folosit pentru a crea un tabel hash având capacitatea inițială și factorul de încărcare specificate.
Hashtable (Harta t)Acesta creează un nou tabel hash cu aceleași mapări ca și harta dată.

Metode ale clasei Java Hashtable

MetodăDescriere
void clear()Este folosit pentru a reseta tabelul hash.
Clona obiect()Returnează o copie superficială a Hashtable-ului.
Calcul V (tasta K, funcția de remapare BiFunction)Este folosit pentru a calcula o mapare pentru cheia specificată și valoarea sa mapată curentă (sau nulă dacă nu există o mapare curentă).
V computeIfAbsent (tasta K, Function mappingFunction)Este folosit pentru a-și calcula valoarea utilizând funcția de mapare dată, dacă cheia specificată nu este deja asociată cu o valoare (sau este mapată la null) și o introduce în această hartă dacă nu este nulă.
V computeIfPresent (tasta K, funcția de remapare BiFunction)Este folosit pentru a calcula o nouă mapare având în vedere cheia și valoarea ei actuală mapată dacă valoarea pentru cheia specificată este prezentă și nu este nulă.
Elemente de enumerare()Returnează o enumerare a valorilor din tabelul hash.
A stabilitentrySet()Acesta returnează o vedere setată a mapărilor conținute în hartă.
boolean este egal(obiect o)Este folosit pentru a compara obiectul specificat cu harta.
void forEach (acțiune BiConsumer)Efectuează acțiunea dată pentru fiecare intrare din hartă până când toate intrările au fost procesate sau acțiunea aruncă o excepție.
V getOrDefault(cheia obiectului, V defaultValue)Returnează valoarea la care este mapată cheia specificată sau defaultValue dacă harta nu conține nicio mapare pentru cheie.
int hashCode()Returnează valoarea codului hash pentru Hartă
Chei de enumerare()Returnează o enumerare a cheilor din tabelul hash.
Setați keySet()Acesta returnează o vizualizare Set a cheilor conținute în hartă.
V merge (tasta K, valoarea V, funcția de remapare BiFunction)Dacă cheia specificată nu este deja asociată cu o valoare sau este asociată cu null, o asociază cu valoarea non-nulă dată.
V pune (tasta K, valoarea V)Inserează valoarea specificată cu cheia specificată în tabelul hash.
void putAll(Harta t))Este folosit pentru a copia toată perechea cheie-valoare de pe hartă în hashtable.
V putIfAbsent (tasta K, valoarea V)Dacă cheia specificată nu este deja asociată cu o valoare (sau este mapată la null) o asociază cu valoarea dată și returnează null, altfel returnează valoarea curentă.
boolean remove (cheie obiect, valoare obiect)Îndepărtează valorile specificate cu cheile specificate asociate din tabelul hash.
V înlocuiți (tasta K, valoarea V)Acesta înlocuiește valoarea specificată pentru o cheie specificată.
înlocuire booleană (cheia K, V oldValue, V newValue)Acesta înlocuiește vechea valoare cu noua valoare pentru o cheie specificată.
void replaceAll (funcția BiFunction)Acesta înlocuiește valoarea fiecărei intrări cu rezultatul invocării funcției date pe acea intrare până când toate intrările au fost procesate sau funcția aruncă o excepție.
String toString()Returnează o reprezentare șir a obiectului Hashtable.
Valori de colecție()Returnează o vizualizare de colecție a valorilor conținute în hartă.
boolean conține (valoarea obiectului)Această metodă returnează true dacă o valoare egală cu valoarea există în tabelul hash, altfel returnează false.
boolean containsValue(Valoare obiect)Această metodă returnează true dacă o valoare egală cu valoarea există în tabelul hash, altfel returnează false.
boolean containsKey (cheie obiect)Această metodă returnează true dacă o cheie egală cu cheia există în tabelul hash, altfel returnează false.
boolean este gol ()Această metodă returnează true dacă tabelul hash este gol; returnează false dacă conține cel puțin o cheie.
protejat void rehash()Este folosit pentru a mări dimensiunea tabelului de hash și pentru a rehash toate cheile sale.
V get(cheie obiect)Această metodă returnează obiectul care conține valoarea asociată cheii.
V elimina (cheia obiect)Este folosit pentru a elimina cheia și valoarea acesteia. Această metodă returnează valoarea asociată cheii.
dimensiune int()Această metodă returnează numărul de intrări din tabelul hash.

Exemplu Java Hashtable

 import java.util.*; class Hashtable1{ public static void main(String args[]){ Hashtable hm=new Hashtable(); hm.put(100,'Amit'); hm.put(102,'Ravi'); hm.put(101,'Vijay'); hm.put(103,'Rahul'); for(Map.Entry m:hm.entrySet()){ System.out.println(m.getKey()+' '+m.getValue()); } } } 
Testează-l acum

Ieșire:

 103 Rahul 102 Ravi 101 Vijay 100 Amit 

Exemplu Java Hashtable: remove()

 import java.util.*; public class Hashtable2 { public static void main(String args[]) { Hashtable map=new Hashtable(); map.put(100,'Amit'); map.put(102,'Ravi'); map.put(101,'Vijay'); map.put(103,'Rahul'); System.out.println('Before remove: '+ map); // Remove value for key 102 map.remove(102); System.out.println('After remove: '+ map); } } 

Ieșire:

 Before remove: {103=Rahul, 102=Ravi, 101=Vijay, 100=Amit} After remove: {103=Rahul, 101=Vijay, 100=Amit} 

Exemplu Java Hashtable: getOrDefault()

 import java.util.*; class Hashtable3{ public static void main(String args[]){ Hashtable map=new Hashtable(); map.put(100,'Amit'); map.put(102,'Ravi'); map.put(101,'Vijay'); map.put(103,'Rahul'); //Here, we specify the if and else statement as arguments of the method System.out.println(map.getOrDefault(101, 'Not Found')); System.out.println(map.getOrDefault(105, 'Not Found')); } } 

Ieșire:

 Vijay Not Found 

Exemplu Java Hashtable: putIfAbsent()

 import java.util.*; class Hashtable4{ public static void main(String args[]){ Hashtable map=new Hashtable(); map.put(100,'Amit'); map.put(102,'Ravi'); map.put(101,'Vijay'); map.put(103,'Rahul'); System.out.println('Initial Map: '+map); //Inserts, as the specified pair is unique map.putIfAbsent(104,'Gaurav'); System.out.println('Updated Map: '+map); //Returns the current value, as the specified pair already exist map.putIfAbsent(101,'Vijay'); System.out.println('Updated Map: '+map); } } 

Ieșire:

 Initial Map: {103=Rahul, 102=Ravi, 101=Vijay, 100=Amit} Updated Map: {104=Gaurav, 103=Rahul, 102=Ravi, 101=Vijay, 100=Amit} Updated Map: {104=Gaurav, 103=Rahul, 102=Ravi, 101=Vijay, 100=Amit} 

Java Hashtable Exemplu: carte

 import java.util.*; class Book { int id; String name,author,publisher; int quantity; public Book(int id, String name, String author, String publisher, int quantity) { this.id = id; this.name = name; this.author = author; this.publisher = publisher; this.quantity = quantity; } } public class HashtableExample { public static void main(String[] args) { //Creating map of Books Map map=new Hashtable(); //Creating Books Book b1=new Book(101,'Let us C','Yashwant Kanetkar','BPB',8); Book b2=new Book(102,'Data Communications & Networking','Forouzan','Mc Graw Hill',4); Book b3=new Book(103,'Operating System','Galvin','Wiley',6); //Adding Books to map map.put(1,b1); map.put(2,b2); map.put(3,b3); //Traversing map for(Map.Entry entry:map.entrySet()){ int key=entry.getKey(); Book b=entry.getValue(); System.out.println(key+' Details:'); System.out.println(b.id+' '+b.name+' '+b.author+' '+b.publisher+' '+b.quantity); } } } 

Ieșire:

 3 Details: 103 Operating System Galvin Wiley 6 2 Details: 102 Data Communications & Networking Forouzan Mc Graw Hill 4 1 Details: 101 Let us C Yashwant Kanetkar BPB 8