Java Hashtable-klassen implementerer en hashtabel, som kortlægger nøgler til værdier. Det arver ordbogsklassen og implementerer kortgrænsefladen.
Punkter at huske
- En hashtabel er en række af en liste. Hver liste er kendt som en spand. Placeringen af bøtten identificeres ved at kalde hashcode()-metoden. En hashtabel indeholder værdier baseret på nøglen.
- Java Hashtable-klassen indeholder unikke elementer.
- Java Hashtable-klassen tillader ikke null-nøgle eller værdi.
- Java Hashtable-klassen er synkroniseret.
- Den oprindelige standardkapacitet for Hashtable-klassen er 11, mens loadFactor er 0,75.
Hastbar klasseerklæring
Lad os se erklæringen for java.util.Hashtable-klassen.
public class Hashtable extends Dictionary implements Map, Cloneable, Serializable
Hastable klasseparametre
Lad os se parametrene for java.util.Hashtable-klassen.
Konstruktører af Java Hashtable-klassen
Konstruktør | Beskrivelse |
---|---|
Hastabel() | Det opretter en tom hashtabel med den oprindelige standardkapacitet og belastningsfaktor. |
Hastabel (int kapacitet) | Den accepterer en heltalsparameter og opretter en hash-tabel, der indeholder en specificeret startkapacitet. |
Hastbar (int kapacitet, float loadFactor) | Det bruges til at oprette en hash-tabel med den angivne startkapacitet og loadFactor. |
Hastabel (kort t) | Det opretter en ny hash-tabel med de samme tilknytninger som det givne kort. |
Metoder til Java Hashtable klasse
Metode | Beskrivelse |
---|---|
void clear() | Det bruges til at nulstille hash-tabellen. |
Objekt klon() | Det returnerer en overfladisk kopi af hashtabellen. |
V compute (K-tast, BiFunction remappingFunction) | Den bruges til at beregne en mapping for den angivne nøgle og dens aktuelle kortlagte værdi (eller null, hvis der ikke er nogen aktuel mapping). |
V computeIfAbsent(K-tast, FunktionsmappingFunction) | Den bruges til at beregne dens værdi ved hjælp af den givne kortlægningsfunktion, hvis den angivne nøgle ikke allerede er knyttet til en værdi (eller er afbildet til null), og indtaster den i dette kort, medmindre den er null. |
V computeIfPresent(K-nøgle, BiFunction remappingFunction) | Den bruges til at beregne en ny mapping givet nøglen og dens aktuelle tilknyttede værdi, hvis værdien for den angivne nøgle er til stede og ikke er nul. |
Optællingselementer() | Det returnerer en opregning af værdierne i hash-tabellen. |
Sæt | Den returnerer en fast visning af kortlægningerne på kortet. |
boolesk lig (Objekt o) | Det bruges til at sammenligne det specificerede objekt med kortet. |
void forEach (BiConsumer action) | Den udfører den givne handling for hver post i kortet, indtil alle poster er blevet behandlet, eller handlingen kaster en undtagelse. |
V getOrDefault(Objektnøgle, V defaultValue) | Det returnerer den værdi, som den angivne nøgle er knyttet til, eller defaultValue, hvis kortet ikke indeholder nogen tilknytning til nøglen. |
int hashCode() | Det returnerer hash-kodeværdien for kortet |
Optællingsnøgler() | Det returnerer en opregning af nøglerne i hashtabellen. |
Indstil keySet() | Det returnerer en Set-visning af nøglerne på kortet. |
V fletning (K nøgle, V værdi, BiFunction remapping Function) | Hvis den angivne nøgle ikke allerede er knyttet til en værdi eller er knyttet til null, knytter den til den givne ikke-nullværdi. |
V put(K nøgle, V værdi) | Den indsætter den angivne værdi med den angivne nøgle i hash-tabellen. |
void putAll(Map t)) | Det bruges til at kopiere alle nøgleværdi-parret fra kort til hashtabel. |
V putIfFraværende(K-nøgle, V-værdi) | Hvis den angivne nøgle ikke allerede er knyttet til en værdi (eller er knyttet til null), knytter den til den givne værdi og returnerer null, ellers returnerer den aktuelle værdi. |
boolesk fjern (Objektnøgle, Objektværdi) | Det fjerner de angivne værdier med de tilhørende specificerede nøgler fra hashtabellen. |
V erstatte (K nøgle, V værdi) | Den erstatter den angivne værdi for en specificeret nøgle. |
boolesk erstatning (K-tast, V oldValue, V newValue) | Den erstatter den gamle værdi med den nye værdi for en specificeret nøgle. |
void replaceAll (BiFunction-funktion) | Den erstatter hver posts værdi med resultatet af at kalde den givne funktion på denne post, indtil alle poster er blevet behandlet, eller funktionen afgiver en undtagelse. |
String toString() | Det returnerer en strengrepræsentation af Hashtable-objektet. |
Samlingsværdier() | Det returnerer en samlingsvisning af værdierne på kortet. |
boolesk indeholder (objektværdi) | Denne metode returnerer sand, hvis der findes en værdi svarende til værdien i hash-tabellen, ellers returnerer den falsk. |
boolean containsValue(Objektværdi) | Denne metode returnerer sand, hvis der findes en værdi svarende til værdien i hash-tabellen, ellers returnerer den falsk. |
boolean containsKey(Objektnøgle) | Denne metode returnerer sand, hvis der findes en nøgle svarende til nøglen i hash-tabellen, ellers returnerer den falsk. |
boolsk er tom() | Denne metode returnerer sand, hvis hash-tabellen er tom; returnerer falsk, hvis den indeholder mindst én nøgle. |
beskyttet void rehash() | Det bruges til at øge størrelsen af hash-tabellen og genhash alle dens nøgler. |
V get(Objektnøgle) | Denne metode returnerer det objekt, der indeholder den værdi, der er knyttet til nøglen. |
V fjern (objektnøgle) | Det bruges til at fjerne nøglen og dens værdi. Denne metode returnerer den værdi, der er knyttet til nøglen. |
int størrelse() | Denne metode returnerer antallet af poster i hash-tabellen. |
Eksempel på 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()); } } }Test det nu
Produktion:
103 Rahul 102 Ravi 101 Vijay 100 Amit
Java Hashtable Eksempel: 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); } }
Produktion:
Before remove: {103=Rahul, 102=Ravi, 101=Vijay, 100=Amit} After remove: {103=Rahul, 101=Vijay, 100=Amit}
Java Hashtable Eksempel: 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')); } }
Produktion:
Vijay Not Found
Java Hashtable Eksempel: 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); } }
Produktion:
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 Eksempel: Bog
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); } } }
Produktion:
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