logo

Java Hashtable osztály

A Java Hashtable osztály egy hashtablet valósít meg, amely leképezi a kulcsokat az értékekre. Megörökli a Dictionary osztályt, és megvalósítja a Map felületet.

Emlékezendő pontok

  • A Hashtable egy lista tömbje. Minden listát vödörnek nevezünk. A vödör helyzetét a hashcode() metódus hívásával azonosítjuk. A hashtable a kulcson alapuló értékeket tartalmaz.
  • A Java Hashtable osztály egyedi elemeket tartalmaz.
  • A Java Hashtable osztály nem engedélyezi a null kulcsot vagy értéket.
  • A Java Hashtable osztály szinkronizálva van.
  • A Hashtable osztály kezdeti alapértelmezett kapacitása 11, míg a loadFactor 0,75.

Hashtable osztály deklaráció

Lássuk a java.util.Hashtable osztály deklarációját.

 public class Hashtable extends Dictionary implements Map, Cloneable, Serializable 

Hashtable osztály Paraméterek

Lássuk a java.util.Hashtable osztály paramétereit.

    K: Ez a térkép által karbantartott kulcsok típusa.BAN BEN: Ez a leképezett értékek típusa.

A Java Hashtable osztály konstruktorai

KonstruktőrLeírás
Hashtable()Létrehoz egy üres hashtablet a kezdeti alapértelmezett kapacitással és terhelési tényezővel.
Hashtable (belső kapacitás)Elfogad egy egész paramétert, és létrehoz egy hash táblát, amely egy meghatározott kezdeti kapacitást tartalmaz.
Hashtable (belső kapacitás, float loadFactor)A megadott kezdeti kapacitással és loadFactorral rendelkező hash tábla létrehozására szolgál.
Hashtable (t térkép)Létrehoz egy új hash táblát az adott térképpel megegyező leképezésekkel.

A Java Hashtable osztály módszerei

MódszerLeírás
void clear()A hash tábla visszaállítására szolgál.
Objektum klón()Visszaadja a Hashtable sekély példányát.
V számítás (K kulcs, BiFunction remapping Function)A megadott kulcs és az aktuális leképezett érték (vagy nulla, ha nincs aktuális leképezés) leképezésének kiszámítására szolgál.
V computeIfAbsent (K billentyű, függvényleképezési függvény)Az érték kiszámítására szolgál az adott leképezési függvény segítségével, ha a megadott kulcs még nincs értékhez társítva (vagy nullára van leképezve), és beírja ebbe a leképezésbe, hacsak nem null.
V computeIfPresent(K kulcs, BiFunction remappingFunction)A kulcs és az aktuális leképezett érték alapján új leképezés kiszámítására szolgál, ha a megadott kulcs értéke jelen van, és nem nulla.
Felsorolási elemek()Visszaadja a hash tábla értékeinek felsorolását.
KészletentrySet()A térképen található leképezések beállított nézetét adja vissza.
logikai egyenlő (o objektum)A megadott objektum és a térkép összehasonlítására szolgál.
érvénytelen forEach (BiConsumer akció)Az adott műveletet a térkép minden egyes bejegyzésére végrehajtja, amíg az összes bejegyzést fel nem dolgozta, vagy a művelet kivételt nem tesz.
V getOrDefault (objektumkulcs, V alapértelmezett érték)Azt az értéket adja vissza, amelyhez a megadott kulcs hozzá van rendelve, vagy az alapértelmezett értéket, ha a leképezés nem tartalmaz leképezést a kulcshoz.
int hashCode()Visszaadja a térkép hash kód értékét
Felsorolási kulcsok ()Visszaadja a hashtable kulcsainak felsorolását.
Set keySet()A térképen található kulcsok készletnézetét adja vissza.
V összevonás (K kulcs, V érték, BiFunction remapping Function)Ha a megadott kulcs még nincs hozzárendelve értékhez, vagy nullához van társítva, akkor társítja a megadott nem null értékkel.
V put (K kulcs, V érték)A megadott értéket a megadott kulccsal beszúrja a hash táblába.
void putAll (Ttérkép t))Az összes kulcs-érték pár másolására szolgál a térképről a hashtable-ba.
V putIfAbsent (K kulcs, V érték)Ha a megadott kulcs még nincs értékhez társítva (vagy nullára van leképezve), akkor hozzárendeli az adott értékhez, és nullát ad vissza, ellenkező esetben az aktuális értéket adja vissza.
logikai eltávolítás (objektumkulcs, objektumérték)Eltávolítja a megadott értékeket a hozzájuk tartozó megadott kulcsokkal a hashtable-ból.
V csere (K kulcs, V érték)A megadott kulcshoz tartozó értéket helyettesíti.
logikai csere (K kulcs, V régiérték, V újérték)Lecseréli a régi értéket egy adott kulcs új értékére.
érvénytelen csereAll (BiFunction funkció)Minden bejegyzés értékét lecseréli az adott függvény meghívásának eredményére, amíg az összes bejegyzés feldolgozásra nem kerül, vagy a függvény kivételt nem dob.
String toString()A Hashtable objektum karakterlánc reprezentációját adja vissza.
Gyűjteményértékek()A térképen található értékek gyűjteménynézetét adja vissza.
logikai érték tartalmazza (objektumérték)Ez a metódus igazat ad vissza, ha az értékkel megegyező érték létezik a hash táblában, ellenkező esetben hamis értéket ad vissza.
logikai érték tartalmazza(objektumérték)Ez a metódus igazat ad vissza, ha az értékkel megegyező érték létezik a hash táblában, ellenkező esetben hamis értéket ad vissza.
logikai érték tartalmazzaKey (objektumkulcs)Ez a metódus igaz értéket ad vissza, ha a kulccsal megegyező kulcs létezik a hash táblában, ellenkező esetben hamis értéket ad vissza.
logikai érték üres()Ez a metódus igazat ad vissza, ha a hash tábla üres; false értéket ad vissza, ha legalább egy kulcsot tartalmaz.
védett void rehash()A hash tábla méretének növelésére szolgál, és az összes kulcsát újrakivonatolja.
V get (objektumkulcs)Ez a metódus azt az objektumot adja vissza, amely a kulcshoz tartozó értéket tartalmazza.
V eltávolítás (objektumkulcs)A kulcs és értékének eltávolítására szolgál. Ez a metódus a kulcshoz tartozó értéket adja vissza.
int size()Ez a metódus a hash tábla bejegyzéseinek számát adja vissza.

Java Hashtable példa

 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()); } } } 
Tesztelje most

Kimenet:

 103 Rahul 102 Ravi 101 Vijay 100 Amit 

Java hashtable példa: 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); } } 

Kimenet:

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

Java hashtable példa: 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')); } } 

Kimenet:

 Vijay Not Found 

Java hashtable példa: 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); } } 

Kimenet:

 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 példa: Könyv

 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); } } } 

Kimenet:

 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