Java Hashtable klasė įgyvendina maišos lentelę, kuri susieja raktus su reikšmėmis. Jis paveldi žodyno klasę ir įgyvendina žemėlapio sąsają.
Taškai, kuriuos reikia prisiminti
- Hashtable yra sąrašo masyvas. Kiekvienas sąrašas yra žinomas kaip kibiras. Segmento padėtis identifikuojama iškviečiant hashcode() metodą. Hashtable yra reikšmės, pagrįstos raktu.
- Java Hashtable klasėje yra unikalių elementų.
- „Java Hashtable“ klasė neleidžia naudoti nulinio rakto ar reikšmės.
- „Java Hashtable“ klasė yra sinchronizuota.
- Pradinė numatytoji Hashtable klasės talpa yra 11, o „loadFactor“ yra 0,75.
Hashtable klasės deklaracija
Pažiūrėkime java.util.Hashtable klasės deklaraciją.
public class Hashtable extends Dictionary implements Map, Cloneable, Serializable
Hashtable klasės parametrai
Pažiūrėkime java.util.Hashtable klasės parametrus.
Java Hashtable klasės konstruktoriai
Konstruktorius | apibūdinimas |
---|---|
Hashtable () | Sukuriama tuščia maišos lentelė, turinti pradinę numatytąją talpą ir apkrovos koeficientą. |
Hashtable (įtraukimo talpa) | Jis priima sveikojo skaičiaus parametrą ir sukuria maišos lentelę, kurioje yra nurodyta pradinė talpa. |
Hashtable (vidinė talpa, plūduriuojantis apkrovos koeficientas) | Jis naudojamas maišos lentelei sukurti su nurodyta pradine talpa ir loadFactor. |
Hashtable (žemėlapis t) | Tai sukuria naują maišos lentelę su tais pačiais atvaizdais kaip ir pateiktame žemėlapyje. |
Java Hashtable klasės metodai
Metodas | apibūdinimas |
---|---|
tuščias aiškus () | Jis naudojamas maišos lentelės nustatymui iš naujo. |
Objekto klonas () | Tai grąžina nedidelę „Hashtable“ kopiją. |
V skaičiavimas (K klavišas, BiFunction perdarymo funkcija) | Jis naudojamas nurodyto rakto ir jo dabartinės susietos vertės (arba nulinės, jei dabartinio susiejimo nėra) susiejimui apskaičiuoti. |
V computeIfAbsent (K klavišas, funkcijos susiejimo funkcija) | Jis naudojamas jo vertei apskaičiuoti naudojant nurodytą susiejimo funkciją, jei nurodytas raktas dar nesusietas su reikšme (arba susietas su nuliu), ir įveda jį į šį žemėlapį, nebent nulis. |
V computeIfPresent (K klavišas, BiFunction remappingFunction) | Jis naudojamas naujam susiejimui apskaičiuoti, atsižvelgiant į raktą ir jo dabartinę susietą reikšmę, jei nurodyto rakto reikšmė yra ir nėra nulinė. |
Sąrašo elementai () | Jis grąžina reikšmių sąrašą maišos lentelėje. |
Nustatyti | Jis grąžina nustatytą žemėlapio atvaizdų vaizdą. |
loginis lygus (O objektas) | Jis naudojamas norint palyginti nurodytą objektą su žemėlapiu. |
negalioja kiekvienam (dviejų vartotojų veiksmas) | Jis atlieka nurodytą veiksmą kiekvienam įrašui žemėlapyje, kol visi įrašai bus apdoroti arba veiksmas padarys išimtį. |
V getOrDefault (objekto raktas, V numatytoji vertė) | Jis grąžina reikšmę, su kuria susietas nurodytas raktas, arba defaultValue, jei žemėlapyje nėra rakto susiejimo. |
int maišos kodas () | Jis grąžina žemėlapio maišos kodo reikšmę |
Sąrašų klavišai () | Tai grąžina raktų sąrašą maišos lentelėje. |
Nustatyti keySet() | Jis grąžina žemėlapyje esančių klavišų rinkinio rodinį. |
V suliejimas (K raktas, V reikšmė, BiFunction perdarymo funkcija) | Jei nurodytas raktas dar nesusietas su reikšme arba yra susietas su nuliu, susieja jį su nurodyta nenuline verte. |
V put (K raktas, V reikšmė) | Jis įterpia nurodytą reikšmę su nurodytu raktu maišos lentelėje. |
negalioja, įdėti viską (žemėlapis t)) | Jis naudojamas nukopijuoti visą rakto-reikšmių porą iš žemėlapio į maišos lentelę. |
V putIfAbsent (K raktas, V reikšmė) | Jei nurodytas raktas dar nesusietas su reikšme (arba susietas su nuliu), susieja jį su nurodyta reikšme ir grąžina nulį, kitu atveju grąžina dabartinę reikšmę. |
loginis pašalinimas (objekto raktas, objekto reikšmė) | Jis pašalina nurodytas reikšmes su susijusiais nurodytais raktais iš maišos lentelės. |
V pakeitimas (K klavišas, V reikšmė) | Jis pakeičia nurodytą nurodyto rakto vertę. |
loginis pakeitimas (K raktas, V senoji vertė, V nauja vertė) | Ji pakeičia seną reikšmę nauja nurodyto rakto reikšme. |
galioti pakeisti viską („BiFunction“ funkcija) | Jis pakeičia kiekvieno įrašo reikšmę duotos funkcijos iškvietimu tame įraše, kol visi įrašai bus apdoroti arba funkcija padarys išimtį. |
String toString() | Jis grąžina Hashtable objekto eilutės atvaizdavimą. |
Kolekcijos vertės () | Jis grąžina žemėlapyje esančių verčių rinkinį. |
loginis yra (objekto reikšmė) | Šis metodas grąžina „true“, jei maišos lentelėje yra reikšmė, lygia vertei, kitu atveju grąžina „false“. |
loginė vertė (objekto reikšmė) | Šis metodas grąžina „true“, jei maišos lentelėje yra reikšmė, lygia vertei, kitu atveju grąžina „false“. |
loginis yraKey (Objekto raktas) | Šis metodas grąžina „true“, jei maišos lentelėje yra raktas, lygus raktui, kitu atveju grąžina „false“. |
loginis yra tuščias() | Šis metodas grąžina teisingą, jei maišos lentelė tuščia; grąžina false, jei jame yra bent vienas raktas. |
apsaugotas tuščias rehash () | Jis naudojamas maišos lentelės dydžiui padidinti ir visiems jos raktams pakartotinai pritaikyti. |
V get (objekto raktas) | Šis metodas grąžina objektą, kuriame yra su raktu susijusi reikšmė. |
V pašalinti (objekto raktas) | Jis naudojamas raktui ir jo vertei pašalinti. Šis metodas grąžina su raktu susietą reikšmę. |
int dydis () | Šis metodas grąžina įrašų skaičių maišos lentelėje. |
Java Hashtable pavyzdys
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()); } } }Išbandykite dabar
Išvestis:
103 Rahul 102 Ravi 101 Vijay 100 Amit
Java Hashtable pavyzdys: 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); } }
Išvestis:
Before remove: {103=Rahul, 102=Ravi, 101=Vijay, 100=Amit} After remove: {103=Rahul, 101=Vijay, 100=Amit}
„Java“ maišos lentelės pavyzdys: 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')); } }
Išvestis:
Vijay Not Found
Java maišos lentelės pavyzdys: 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); } }
Išvestis:
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 pavyzdys: knyga
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); } } }
Išvestis:
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