Java Hashtable-klassen implementerar en hashtabell, som mappar nycklar till värden. Den ärver Dictionary-klassen och implementerar kartgränssnittet.
Punkter att komma ihåg
- En hashtabell är en uppsättning av en lista. Varje lista är känd som en hink. Positionen för hinken identifieras genom att anropa hashcode()-metoden. En hashtabell innehåller värden baserade på nyckeln.
- Java Hashtable-klassen innehåller unika element.
- Java Hashtable-klassen tillåter inte null-nyckel eller värde.
- Java Hashtable-klassen är synkroniserad.
- Den initiala standardkapaciteten för Hashtable-klassen är 11 medan loadFactor är 0,75.
Hastbar klassdeklaration
Låt oss se deklarationen för klassen java.util.Hashtable.
public class Hashtable extends Dictionary implements Map, Cloneable, Serializable
Hastbar klassparametrar
Låt oss se parametrarna för klassen java.util.Hashtable.
Konstruktörer av Java Hashtable-klassen
Konstruktör | Beskrivning |
---|---|
Hashtable() | Det skapar en tom hashtabell med den ursprungliga standardkapaciteten och belastningsfaktorn. |
Hastbar (int kapacitet) | Den accepterar en heltalsparameter och skapar en hashtabell som innehåller en specificerad initial kapacitet. |
Hastbar (int kapacitet, float loadFactor) | Den används för att skapa en hashtabell med den specificerade initiala kapaciteten och loadFactor. |
Hashtable (karta t) | Den skapar en ny hashtabell med samma mappningar som den givna kartan. |
Metoder för Java Hashtable-klassen
Metod | Beskrivning |
---|---|
void clear() | Den används för att återställa hashtabellen. |
Object clone() | Den returnerar en ytlig kopia av hashtabellen. |
V compute (K-nyckel, BiFunction remappingFunction) | Den används för att beräkna en mappning för den angivna nyckeln och dess aktuella mappade värde (eller null om det inte finns någon aktuell mappning). |
V computeIfAbsent(K-tangent, FunktionsmappingFunction) | Den används för att beräkna dess värde med hjälp av den givna mappningsfunktionen, om den angivna nyckeln inte redan är associerad med ett värde (eller är mappad till null), och matar in det i denna karta om inte null. |
V computeIfPresent(K-nyckel, BiFunction remappingFunction) | Den används för att beräkna en ny mappning givet nyckeln och dess nuvarande mappade värde om värdet för den angivna nyckeln är närvarande och inte är null. |
Uppräkningselement() | Den returnerar en uppräkning av värdena i hashtabellen. |
Uppsättning | Den returnerar en inställd vy av mappningarna som finns på kartan. |
boolesk lika med(Objekt o) | Den används för att jämföra det angivna objektet med kartan. |
void forEach (BiConsumer action) | Den utför den givna åtgärden för varje post i kartan tills alla poster har bearbetats eller åtgärden ger ett undantag. |
V getOrDefault(Objektnyckel, V defaultValue) | Den returnerar värdet som den angivna nyckeln är mappad till, eller defaultValue om kartan inte innehåller någon mappning för nyckeln. |
int hashCode() | Den returnerar hashkodvärdet för kartan |
Uppräkningsnycklar() | Den returnerar en uppräkning av nycklarna i hashtabellen. |
Ställ in keySet() | Den returnerar en Set-vy av nycklarna som finns på kartan. |
V sammanfoga (K-nyckel, V-värde, BiFunction remappingFunction) | Om den angivna nyckeln inte redan är associerad med ett värde eller är associerad med null, associerar den med det givna icke-nullvärdet. |
V put(K-nyckel, V-värde) | Den infogar det angivna värdet med den angivna nyckeln i hashtabellen. |
void putAll(Map t)) | Den används för att kopiera alla nyckel-värdepar från karta till hashtabell. |
V putIfAbsent(K-nyckel, V-värde) | Om den angivna nyckeln inte redan är associerad med ett värde (eller är mappad till null) associerar den med det givna värdet och returnerar null, annars returnerar det aktuella värdet. |
boolean remove(Objektnyckel, Objektvärde) | Den tar bort de angivna värdena med tillhörande specificerade nycklar från hashtabellen. |
V ersätt (K-nyckel, V-värde) | Den ersätter det angivna värdet för en angiven nyckel. |
boolean replace(K-nyckel, V oldValue, V newValue) | Det ersätter det gamla värdet med det nya värdet för en angiven nyckel. |
void replaceAll (BiFunction-funktion) | Den ersätter varje posts värde med resultatet av att anropa den givna funktionen på den posten tills alla poster har bearbetats eller funktionen ger ett undantag. |
String toString() | Den returnerar en strängrepresentation av Hashtable-objektet. |
Samlingsvärden() | Den returnerar en samlingsvy av värdena som finns i kartan. |
boolesk innehåller(Objektvärde) | Denna metod returnerar true om något värde som är lika med värdet finns i hashtabellen, annars returnerar false. |
boolean containsValue(Objektvärde) | Denna metod returnerar true om något värde som är lika med värdet finns i hashtabellen, annars returnerar false. |
boolean containsKey(Objektnyckel) | Denna metod returnerar true om någon nyckel lika med nyckeln finns i hashtabellen, annars returnerar false. |
boolean isEmpty() | Denna metod returnerar true om hashtabellen är tom; returnerar false om den innehåller minst en nyckel. |
skyddad void rehash() | Den används för att öka storleken på hashtabellen och återhasha alla dess nycklar. |
V get(Objektnyckel) | Denna metod returnerar objektet som innehåller värdet som är associerat med nyckeln. |
V ta bort (objektnyckel) | Den används för att ta bort nyckeln och dess värde. Denna metod returnerar värdet som är associerat med nyckeln. |
int storlek() | Denna metod returnerar antalet poster i hashtabellen. |
Java hashable exempel
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()); } } }Testa det nu
Produktion:
103 Rahul 102 Ravi 101 Vijay 100 Amit
Java Hashtable Exempel: 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 Exempel: 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 Exempel: 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 Hashable Exempel: Bok
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