Java Hashtable -luokka toteuttaa hashtablen, joka kartoittaa avaimet arvoihin. Se perii sanakirjaluokan ja toteuttaa Map-rajapinnan.
Muistettavat kohdat
- Hashtable on joukko luetteloita. Jokainen luettelo tunnetaan ämpärinä. Säilön sijainti tunnistetaan kutsumalla hashcode()-menetelmää. Hashtable sisältää avaimeen perustuvia arvoja.
- Java Hashtable -luokka sisältää ainutlaatuisia elementtejä.
- Java Hashtable -luokka ei salli nollaavainta tai arvoa.
- Java Hashtable -luokka on synkronoitu.
- Hashtable-luokan alkuperäinen oletuskapasiteetti on 11, kun taas loadFactor on 0,75.
Hashtable-luokkailmoitus
Katsotaanpa java.util.Hashtable-luokan ilmoitus.
public class Hashtable extends Dictionary implements Map, Cloneable, Serializable
Hashtable-luokan parametrit
Katsotaanpa java.util.Hashtable-luokan parametrit.
Java Hashtable -luokan rakentajat
Rakentaja | Kuvaus |
---|---|
Hashtable() | Se luo tyhjän hashtablen, jolla on alkuperäinen oletuskapasiteetti ja latauskerroin. |
Hashtable (sisäinen kapasiteetti) | Se hyväksyy kokonaislukuparametrin ja luo hajautustaulukon, joka sisältää määritellyn alkukapasiteetin. |
Hashtable (sisäinen kapasiteetti, float loadFactor) | Sitä käytetään hajautustaulukon luomiseen, jolla on määritetty alkukapasiteetti ja loadFactor. |
Hashtable (kartta t) | Se luo uuden hash-taulukon, jossa on samat kartoitukset kuin annettu kartta. |
Java Hashtable -luokan menetelmät
Menetelmä | Kuvaus |
---|---|
void clear () | Sitä käytetään hajautustaulukon nollaukseen. |
Objektin klooni() | Se palauttaa matalan kopion Hashtablesta. |
V-laskenta (K-avain, BiFunction-uudelleenkuvausfunktio) | Sitä käytetään määritetyn avaimen ja sen nykyisen kartoitetun arvon (tai nollan, jos nykyistä kartoitusta ei ole) määrittämiseen. |
V computeIfAbsent (K-näppäin, Funktiokartoitustoiminto) | Sitä käytetään sen arvon laskemiseen käyttämällä annettua kuvausfunktiota, jos määritettyä avainta ei ole jo liitetty arvoon (tai se on kuvattu nollaan), ja syöttää sen tähän karttaan, ellei se ole nolla. |
V computeIfPresent (K-näppäin, BiFunction-uudelleenkuvausfunktio) | Sitä käytetään uuden kuvauksen laskemiseen avaimella ja sen nykyisellä kuvatulla arvolla, jos määritetyn avaimen arvo on läsnä ja ei ole nolla. |
Luetteloelementit() | Se palauttaa tiivistetaulukon arvojen luettelon. |
Aseta | Se palauttaa sarjanäkymän kartan sisältämistä kartoituksista. |
boolen yhtä kuin (objekti o) | Sitä käytetään vertaamaan määritettyä objektia karttaan. |
void forEach (kahden kuluttajan toiminta) | Se suorittaa annetun toiminnon jokaiselle kartan merkinnälle, kunnes kaikki merkinnät on käsitelty tai toiminto tekee poikkeuksen. |
V getOrDefault (Objektiavain, V oletusarvo) | Se palauttaa arvon, johon määritetty avain on kartoitettu, tai oletusarvon, jos kartta ei sisällä avaimelle kartoitusta. |
int hashCode() | Se palauttaa kartan hash-koodin arvon |
Luetteloavaimet () | Se palauttaa luettelon hash-taulukon avaimista. |
Aseta keySet() | Se palauttaa sarjanäkymän kartan sisältämistä avaimista. |
V yhdistä (K-avain, V-arvo, BiFunction-uudelleenkuvaustoiminto) | Jos määritettyä avainta ei ole jo liitetty arvoon tai se on liitetty tyhjään, liittää sen annettuun ei-nolla-arvoon. |
V put (K-avain, V-arvo) | Se lisää määritetyn arvon määritetyllä avaimella hash-taulukkoon. |
mitätöi kaikki (kartta t)) | Sitä käytetään kopioimaan kaikki avain-arvo-pari kartasta hash-taulukkoon. |
V putIfAbsent (K-avain, V-arvo) | Jos määritettyä avainta ei ole jo liitetty arvoon (tai se on kuvattu nollaan), liittää sen annettuun arvoon ja palauttaa nollan, muussa tapauksessa palauttaa nykyisen arvon. |
looginen poista (objektiavain, objektin arvo) | Se poistaa määritetyt arvot ja niihin liittyvät määritetyt avaimet hash-taulukosta. |
V korvaa (K-avain, V-arvo) | Se korvaa määritetyn avaimen määritetyn arvon. |
boolen korvaa (K avain, V vanha arvo, V uusi arvo) | Se korvaa vanhan arvon määritetyn avaimen uudella arvolla. |
void korvaa kaikki (BiFunction-toiminto) | Se korvaa jokaisen merkinnän arvon tuloksella, jolla kyseistä toimintoa kutsutaan kyseisessä merkinnässä, kunnes kaikki merkinnät on käsitelty tai funktio tekee poikkeuksen. |
Merkkijono merkkijonoon() | Se palauttaa Hashtable-objektin merkkijonoesityksen. |
Kokoelman arvot() | Se palauttaa kokoelmanäkymän kartan sisältämistä arvoista. |
boolean sisältää (objektin arvo) | Tämä menetelmä palauttaa tosi, jos tiivistetaulukossa on jokin arvoa vastaava arvo, muuten palauttaa false. |
boolean includeValue(objektiarvo) | Tämä menetelmä palauttaa tosi, jos tiivistetaulukossa on jokin arvoa vastaava arvo, muuten palauttaa false. |
boolean sisältääKey(Objektiavain) | Tämä menetelmä palauttaa arvon tosi, jos jokin avainta vastaava avain on olemassa hash-taulukossa, muussa tapauksessa palauttaa epätosi. |
boolean isEmpty() | Tämä menetelmä palauttaa tosi, jos hash-taulukko on tyhjä; palauttaa false, jos se sisältää vähintään yhden avaimen. |
suojattu void rehash() | Sitä käytetään lisäämään hash-taulukon kokoa ja tiivistää uudelleen kaikki sen avaimet. |
V get (objektiavain) | Tämä menetelmä palauttaa objektin, joka sisältää avaimeen liittyvän arvon. |
V poista (objektiavain) | Sitä käytetään avaimen ja sen arvon poistamiseen. Tämä menetelmä palauttaa avaimeen liittyvän arvon. |
int size () | Tämä menetelmä palauttaa hajautustaulukon merkintöjen määrän. |
Java Hashtable esimerkki
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()); } } }Testaa nyt
Lähtö:
103 Rahul 102 Ravi 101 Vijay 100 Amit
Java Hashtable esimerkki: 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); } }
Lähtö:
Before remove: {103=Rahul, 102=Ravi, 101=Vijay, 100=Amit} After remove: {103=Rahul, 101=Vijay, 100=Amit}
Java Hashtable esimerkki: 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')); } }
Lähtö:
Vijay Not Found
Java Hashtable Esimerkki: 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); } }
Lähtö:
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 Esimerkki: Kirja
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); } } }
Lähtö:
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