De Java Hashtable-klasse implementeert een hashtabel, die sleutels aan waarden toewijst. Het erft de Dictionary-klasse en implementeert de Map-interface.
Punten om te onthouden
- Een hashtabel is een array van een lijst. Elke lijst staat bekend als een bucket. De positie van de bucket wordt geïdentificeerd door de methode hashcode() aan te roepen. Een hashtabel bevat waarden op basis van de sleutel.
- De Java Hashtable-klasse bevat unieke elementen.
- De Java Hashtable-klasse staat geen null-sleutel of -waarde toe.
- De Java Hashtable-klasse is gesynchroniseerd.
- De initiële standaardcapaciteit van de Hashtable-klasse is 11, terwijl de loadFactor 0,75 is.
Hashtable-klassedeclaratie
Laten we de declaratie voor de klasse java.util.Hashtable bekijken.
public class Hashtable extends Dictionary implements Map, Cloneable, Serializable
Parameters van de hashtabelklasse
Laten we de parameters voor de klasse java.util.Hashtable bekijken.
Constructeurs van de Java Hashtable-klasse
Constructeur | Beschrijving |
---|---|
Hashtabel() | Er wordt een lege hashtabel gemaakt met de initiële standaardcapaciteit en belastingsfactor. |
Hashtabel (int-capaciteit) | Het accepteert een integer-parameter en creëert een hash-tabel die een gespecificeerde initiële capaciteit bevat. |
Hashtabel (int capaciteit, float loadFactor) | Het wordt gebruikt om een hashtabel te maken met de opgegeven initiële capaciteit en loadFactor. |
Hashtabel (kaart t) | Er wordt een nieuwe hashtabel gemaakt met dezelfde toewijzingen als de gegeven kaart. |
Methoden van de Java Hashtable-klasse
Methode | Beschrijving |
---|---|
leegte helder() | Het wordt gebruikt om de hashtabel opnieuw in te stellen. |
Objectkloon() | Het retourneert een oppervlakkige kopie van de hashtabel. |
V compute (K-sleutel, BiFunction remappingFunction) | Het wordt gebruikt om een toewijzing te berekenen voor de opgegeven sleutel en de huidige toegewezen waarde (of null als er geen huidige toewijzing is). |
V computeIfAbsent(K-sleutel, FunctietoewijzingFunctie) | Het wordt gebruikt om de waarde ervan te berekenen met behulp van de gegeven toewijzingsfunctie, als de opgegeven sleutel nog niet aan een waarde is gekoppeld (of is toegewezen aan null), en deze in deze kaart invoert, tenzij null. |
V computeIfPresent(K-sleutel, BiFunction remappingFunction) | Het wordt gebruikt om een nieuwe toewijzing te berekenen op basis van de sleutel en de huidige toegewezen waarde als de waarde voor de opgegeven sleutel aanwezig is en niet nul is. |
Opsommingselementen() | Het retourneert een opsomming van de waarden in de hashtabel. |
Set | Het retourneert een vaste weergave van de toewijzingen op de kaart. |
Booleaanse waarde is gelijk aan(Object o) | Het wordt gebruikt om het opgegeven object met de kaart te vergelijken. |
void forEach(BiConsumer-actie) | Het voert de gegeven actie uit voor elk item op de kaart totdat alle items zijn verwerkt of de actie een uitzondering genereert. |
V getOrDefault(Objectsleutel, V standaardwaarde) | Het retourneert de waarde waaraan de opgegeven sleutel is toegewezen, of defaultValue als de kaart geen toewijzing voor de sleutel bevat. |
int hashCode() | Het retourneert de hashcodewaarde voor de kaart |
Opsommingssleutels() | Het retourneert een opsomming van de sleutels in de hashtabel. |
Stel sleutelSet() in | Het retourneert een Set-weergave van de sleutels op de kaart. |
V samenvoegen (K-sleutel, V-waarde, BiFunction remappingFunction) | Als de opgegeven sleutel nog niet aan een waarde is gekoppeld of aan null is gekoppeld, wordt deze aan de opgegeven niet-null-waarde gekoppeld. |
V put(K-sleutel, V-waarde) | Het voegt de opgegeven waarde met de opgegeven sleutel in de hashtabel in. |
void putAll(Kaart t)) | Het wordt gebruikt om het hele sleutel-waardepaar van kaart naar hashtabel te kopiëren. |
V putIfAbsent(K-sleutel, V-waarde) | Als de opgegeven sleutel nog niet aan een waarde is gekoppeld (of aan null is toegewezen), wordt deze aan de opgegeven waarde gekoppeld en wordt null geretourneerd, anders wordt de huidige waarde geretourneerd. |
boolean remove(Objectsleutel, Objectwaarde) | Het verwijdert de opgegeven waarden met de bijbehorende opgegeven sleutels uit de hashtabel. |
V vervangen (K-sleutel, V-waarde) | Het vervangt de opgegeven waarde voor een opgegeven sleutel. |
boolean vervangen(K sleutel, V oudeWaarde, V nieuweWaarde) | Het vervangt de oude waarde door de nieuwe waarde voor een opgegeven sleutel. |
void ReplaceAll(BiFunction-functie) | Het vervangt de waarde van elk item door het resultaat van het aanroepen van de gegeven functie voor dat item totdat alle items zijn verwerkt of de functie een uitzondering genereert. |
Tekenreeks naarString() | Het retourneert een tekenreeksrepresentatie van het Hashtable-object. |
Verzamelingswaarden() | Het retourneert een verzamelingsweergave van de waarden op de kaart. |
booleaanse waarde bevat(objectwaarde) | Deze methode retourneert true als er een waarde bestaat die gelijk is aan de waarde in de hashtabel, en retourneert false. |
booleaanse waarde bevatWaarde(Objectwaarde) | Deze methode retourneert true als er een waarde bestaat die gelijk is aan de waarde in de hashtabel, en retourneert false. |
boolean containKey(Objectsleutel) | Deze methode retourneert true als er een sleutel bestaat die gelijk is aan de sleutel in de hashtabel, en retourneert false. |
booleaanse waarde isLeeg() | Deze methode retourneert true als de hashtabel leeg is; retourneert false als deze ten minste één sleutel bevat. |
beschermde leegte rehash() | Het wordt gebruikt om de hashtabel groter te maken en alle sleutels opnieuw te hashen. |
V get(Objectsleutel) | Deze methode retourneert het object dat de waarde bevat die aan de sleutel is gekoppeld. |
V verwijderen (Objecttoets) | Het wordt gebruikt om de sleutel en de waarde ervan te verwijderen. Deze methode retourneert de waarde die aan de sleutel is gekoppeld. |
int-grootte() | Deze methode retourneert het aantal vermeldingen in de hashtabel. |
Java-hashtabelvoorbeeld
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 het nu
Uitgang:
103 Rahul 102 Ravi 101 Vijay 100 Amit
Java-hashtabel Voorbeeld: 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); } }
Uitgang:
Before remove: {103=Rahul, 102=Ravi, 101=Vijay, 100=Amit} After remove: {103=Rahul, 101=Vijay, 100=Amit}
Java-hashtabel Voorbeeld: 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')); } }
Uitgang:
Vijay Not Found
Java-hashtabel Voorbeeld: 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); } }
Uitgang:
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-hashtabel Voorbeeld: Boek
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); } } }
Uitgang:
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