Java Hashtable klase ievieš hashtable, kas kartē atslēgas uz vērtībām. Tas pārmanto vārdnīcas klasi un ievieš kartes saskarni.
Punkti, kas jāatceras
- Hashtable ir saraksta masīvs. Katrs saraksts ir pazīstams kā spainis. Grupas pozīcija tiek identificēta, izsaucot hashcode() metodi. Hashtable satur vērtības, kuru pamatā ir atslēga.
- Java Hashtable klase satur unikālus elementus.
- Java Hashtable klase neatļauj nulles atslēgu vai vērtību.
- Java Hashtable klase ir sinhronizēta.
- Hashtable klases sākotnējā noklusējuma jauda ir 11, bet loadFactor ir 0,75.
Hashtable klases deklarācija
Apskatīsim klases java.util.Hashtable deklarāciju.
public class Hashtable extends Dictionary implements Map, Cloneable, Serializable
Hashtable klases parametri
Apskatīsim klases java.util.Hashtable parametrus.
Java Hashtable klases konstruktori
Konstruktors | Apraksts |
---|---|
Hashtable () | Tas izveido tukšu hashtable ar sākotnējo noklusējuma ietilpību un slodzes koeficientu. |
Hashtable (iespējams) | Tas pieņem vesela skaitļa parametru un izveido jaucējtabulu, kurā ir norādīta sākotnējā ietilpība. |
Hashtable (iespējams, peldošā slodzes koeficients) | To izmanto, lai izveidotu hash tabulu ar norādīto sākotnējo ietilpību un loadFactor. |
Hashtable (karte t) | Tas izveido jaunu hash tabulu ar tādiem pašiem kartējumiem kā dotajai kartei. |
Java Hashtable klases metodes
Metode | Apraksts |
---|---|
tukšums skaidrs () | To izmanto, lai atiestatītu hash tabulu. |
Objekta klons () | Tas atgriež seklu Hashtable kopiju. |
V aprēķins (K taustiņš, BiFunction pārkartošanas funkcija) | To izmanto, lai aprēķinātu kartējumu norādītajai atslēgai un tās pašreizējai kartētajai vērtībai (vai nullei, ja pašreizējā kartējuma nav). |
V computeIfAbsent (taustiņš K, funkciju kartēšanas funkcija) | To izmanto, lai aprēķinātu tās vērtību, izmantojot doto kartēšanas funkciju, ja norādītā atslēga jau nav saistīta ar vērtību (vai ir kartēta uz nulli), un ievada to šajā kartē, ja vien nav nulles. |
V computeIfPresent (taustiņš K, BiFunction remappingFunction) | To izmanto, lai aprēķinātu jaunu kartējumu, ņemot vērā atslēgu un tās pašreizējo kartēto vērtību, ja norādītās atslēgas vērtība ir un nav nulle. |
Uzskaites elementi() | Tas atgriež vērtību uzskaitījumu hash tabulā. |
Iestatīt | Tas atgriež iestatīto kartē ietverto kartējumu skatu. |
Būla ir vienāds (Objekts o) | To izmanto, lai salīdzinātu norādīto objektu ar karti. |
spēkā neesošs par katru (divu patērētāju darbība) | Tas veic doto darbību katram ierakstam kartē, līdz visi ieraksti ir apstrādāti vai darbība rada izņēmumu. |
V getOrDefault (objekta atslēga, V noklusējuma vērtība) | Tas atgriež vērtību, ar kuru norādītā atslēga ir kartēta, vai noklusējuma vērtību, ja kartē nav atslēgas kartējuma. |
int hashCode() | Tas atgriež kartes jaucējkoda vērtību |
Uzskaitīšanas atslēgas () | Tas atgriež jaucējtabulā esošo atslēgu uzskaitījumu. |
Iestatīt keySet() | Tas atgriež kartē ietverto taustiņu kopas skatu. |
V sapludināšana (atslēga K, V vērtība, BiFunction remappingFunction) | Ja norādītā atslēga vēl nav saistīta ar vērtību vai ir saistīta ar nulli, saista to ar norādīto vērtību, kas nav nulle. |
V put (atslēga K, V vērtība) | Tas ievieto norādīto vērtību ar norādīto atslēgu hash tabulā. |
anulēt visu (karte t)) | To izmanto, lai kopētu visu atslēgas vērtību pāri no kartes uz hashtable. |
V putJaNav(atslēga K, V vērtība) | Ja norādītā atslēga vēl nav saistīta ar vērtību (vai ir saistīta ar nulli), saista to ar doto vērtību un atgriež nulli, pretējā gadījumā atgriež pašreizējo vērtību. |
Būla noņemšana (objekta atslēga, objekta vērtība) | Tas no hashtable noņem norādītās vērtības ar saistītajām norādītajām atslēgām. |
V nomaiņa (taustiņš K, V vērtība) | Tas aizstāj norādīto vērtību noteiktai atslēgai. |
Būla nomaiņa (atslēga K, V oldValue, V newValue) | Tas aizstāj veco vērtību ar jauno vērtību noteiktai atslēgai. |
anulēt visu (funkcija BiFunction) | Tas aizvieto katra ieraksta vērtību ar šīs funkcijas izsaukšanas rezultātu šajā ierakstā, līdz visi ieraksti ir apstrādāti vai funkcija rada izņēmumu. |
String toString() | Tas atgriež Hashtable objekta virknes attēlojumu. |
Kolekcijas vērtības() | Tas atgriež kartē ietverto vērtību kolekcijas skatu. |
Būla saturs(objekta vērtība) | Šī metode atgriež patieso vērtību, ja jaukšanas tabulā pastāv kāda vērtība, kas ir vienāda ar vērtību, pretējā gadījumā atgriež false. |
Būla saturs(objekta vērtība) | Šī metode atgriež patieso vērtību, ja jaukšanas tabulā pastāv kāda vērtība, kas ir vienāda ar vērtību, pretējā gadījumā atgriež false. |
Būla vērtība saturKey (objekta atslēga) | Šī metode atgriež vērtību True, ja jaukšanas tabulā pastāv atslēga, kas ir vienāda ar atslēgu, pretējā gadījumā atgriež vērtību false. |
Būla vērtība ir tukša() | Šī metode atgriež patieso vērtību, ja hash tabula ir tukša; atgriež false, ja tajā ir vismaz viena atslēga. |
aizsargāts nevar rehash() | To izmanto, lai palielinātu jaukšanas tabulas izmēru un atkārtoti sajauktu visas tās atslēgas. |
V get (objekta atslēga) | Šī metode atgriež objektu, kas satur ar atslēgu saistīto vērtību. |
V noņemšana (objekta atslēga) | To izmanto, lai noņemtu atslēgu un tās vērtību. Šī metode atgriež ar atslēgu saistīto vērtību. |
int size () | Šī metode atgriež ierakstu skaitu hash tabulā. |
Java Hashtable piemērs
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()); } } }Izmēģiniet to tūlīt
Izvade:
103 Rahul 102 Ravi 101 Vijay 100 Amit
Java Hashtable piemērs: 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); } }
Izvade:
Before remove: {103=Rahul, 102=Ravi, 101=Vijay, 100=Amit} After remove: {103=Rahul, 101=Vijay, 100=Amit}
Java Hashtable piemērs: 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')); } }
Izvade:
Vijay Not Found
Java Hashtable piemērs: 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); } }
Izvade:
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 piemērs: grāmata
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); } } }
Izvade:
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