Klasa Java Hashtable implementira hashtable koja preslikava ključeve u vrijednosti. Nasljeđuje klasu rječnika i implementira sučelje karte.
Bodovi za pamćenje
- Hashtable je niz popisa. Svaka lista je poznata kao žlica. Položaj spremnika identificira se pozivanjem metode hashcode(). Hashtable sadrži vrijednosti temeljene na ključu.
- Klasa Java Hashtable sadrži jedinstvene elemente.
- Klasa Java Hashtable ne dopušta nulti ključ ili vrijednost.
- Klasa Java Hashtable je sinkronizirana.
- Početni zadani kapacitet klase Hashtable je 11, dok je loadFactor 0,75.
Deklaracija klase hashtable
Pogledajmo deklaraciju za klasu java.util.Hashtable.
public class Hashtable extends Dictionary implements Map, Cloneable, Serializable
Parametri klase hashtable
Pogledajmo parametre za klasu java.util.Hashtable.
Konstruktori klase Java Hashtable
Konstruktor | Opis |
---|---|
Raspršena tablica() | Stvara praznu hash tablicu koja ima početni zadani kapacitet i faktor opterećenja. |
Raspršena tablica (kapacitet int.) | Prihvaća cjelobrojni parametar i stvara hash tablicu koja sadrži određeni početni kapacitet. |
Raspršena tablica (int kapacitet, float faktor opterećenja) | Koristi se za stvaranje hash tablice koja ima specificirani početni kapacitet i loadFactor. |
Raspršena tablica (Mapa t) | Stvara novu hash tablicu s istim preslikavanjima kao i data karta. |
Metode Java Hashtable klase
metoda | Opis |
---|---|
praznina jasno() | Koristi se za resetiranje hash tablice. |
Klon objekta() | Vraća plitku kopiju Hashtable. |
V compute (tipka K, BiFunction remappingFunction) | Koristi se za izračunavanje preslikavanja za navedeni ključ i njegove trenutne preslikane vrijednosti (ili null ako trenutno ne postoji preslikavanje). |
V computeIfAbsent(tipka K, funkcija mapiranja funkcije) | Koristi se za izračunavanje svoje vrijednosti pomoću zadane funkcije mapiranja, ako navedeni ključ već nije povezan s vrijednošću (ili je preslikan na null), i unosi ga u ovu mapu osim ako nije null. |
V computeIfPresent(tipka K, BiFunction remappingFunction) | Koristi se za izračunavanje novog preslikavanja s obzirom na ključ i njegovu trenutnu mapiranu vrijednost ako je vrijednost za navedeni ključ prisutna i nije nula. |
Elementi nabrajanja() | Vraća nabrajanje vrijednosti u hash tablici. |
Set | Vraća postavljeni prikaz preslikavanja sadržanih u karti. |
Boolean jednako (objekt o) | Koristi se za usporedbu navedenog Objekta s Kartom. |
void forEach(radnja BiConsumer) | Izvodi zadanu radnju za svaki unos u mapi sve dok se svi unosi ne obrade ili dok akcija ne izbaci iznimku. |
V getOrDefault(ključ objekta, V defaultValue) | Vraća vrijednost u koju je preslikan navedeni ključ ili defaultValue ako mapa ne sadrži preslikavanje za ključ. |
int hashCode() | Vraća vrijednost hash koda za kartu |
Ključevi za nabrajanje() | Vraća nabrajanje ključeva u tablici raspršivanja. |
Postavi keySet() | Vraća set pogled na ključeve sadržane u karti. |
V spajanje (K ključ, V vrijednost, BiFunction remappingFunction) | Ako navedeni ključ već nije povezan s vrijednošću ili je povezan s null, pridružuje ga danoj vrijednosti koja nije null. |
V staviti (K ključ, V vrijednost) | Umeće navedenu vrijednost s navedenim ključem u hash tablicu. |
void putAll(Map t)) | Koristi se za kopiranje svih parova ključ-vrijednost iz karte u hash tablicu. |
V putIfAbsent(ključ K, vrijednost V) | Ako navedeni ključ već nije povezan s vrijednošću (ili je preslikan na null), pridružuje ga danoj vrijednosti i vraća null, inače vraća trenutnu vrijednost. |
boolean remove(ključ objekta, vrijednost objekta) | Uklanja navedene vrijednosti s pridruženim navedenim ključevima iz hash tablice. |
V zamjena (K ključ, V vrijednost) | Zamjenjuje navedenu vrijednost za određeni ključ. |
boolean zamjena (ključ K, V stara vrijednost, V nova vrijednost) | Zamjenjuje staru vrijednost novom vrijednošću za određeni ključ. |
void replaceAll (funkcija BiFunction) | Zamjenjuje vrijednost svakog unosa rezultatom pozivanja dane funkcije na tom unosu dok se svi unosi ne obrade ili funkcija ne izbaci iznimku. |
String toString() | Vraća prikaz niza objekta Hashtable. |
Vrijednosti zbirke() | Vraća prikaz zbirke vrijednosti sadržanih u karti. |
Boolean sadrži (vrijednost objekta) | Ova metoda vraća true ako neka vrijednost jednaka vrijednosti postoji unutar hash tablice, inače vraća false. |
boolean containsValue(vrijednost objekta) | Ova metoda vraća true ako neka vrijednost jednaka vrijednosti postoji unutar hash tablice, inače vraća false. |
boolean containsKey(ključ objekta) | Ova metoda vraća true ako neki ključ jednak ključu postoji unutar hash tablice, inače vraća false. |
Boolean isEmpty() | Ova metoda vraća true ako je hash tablica prazna; vraća false ako sadrži barem jedan ključ. |
zaštićeno void rehash() | Koristi se za povećanje veličine hash tablice i ponovno iscrtava sve njezine ključeve. |
V get (ključ objekta) | Ova metoda vraća objekt koji sadrži vrijednost povezanu s ključem. |
V ukloniti (ključ objekta) | Koristi se za uklanjanje ključa i njegove vrijednosti. Ova metoda vraća vrijednost pridruženu ključu. |
int size() | Ova metoda vraća broj unosa u hash tablici. |
Primjer Java hashtable
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()); } } }Testirajte sada
Izlaz:
103 Rahul 102 Ravi 101 Vijay 100 Amit
Primjer Java hashtable: 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); } }
Izlaz:
Before remove: {103=Rahul, 102=Ravi, 101=Vijay, 100=Amit} After remove: {103=Rahul, 101=Vijay, 100=Amit}
Primjer Java hashtable: 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')); } }
Izlaz:
Vijay Not Found
Primjer Java hashtable: 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); } }
Izlaz:
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}
Primjer Java hashtable: knjiga
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); } } }
Izlaz:
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