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.
A Java Hashtable osztály konstruktorai
Konstruktőr | Leí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ódszer | Leí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észlet | 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