logo

Java Hashtable klasė

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.

    K: Tai raktų tipas, kurį palaiko šis žemėlapis.IN: tai susietų verčių tipas.

Java Hashtable klasės konstruktoriai

Konstruktoriusapibū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

Metodasapibū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įrašasSet()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