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