Java.util.Dictionary Class Javassa
Javan java.util.Dictionary-luokka on abstrakti luokka, joka edustaa kokoelmaa avain-arvo-pareja, joissa avaimet ovat ainutlaatuisia ja joita käytetään arvojen käyttämiseen. Se oli osa Java 1.2:ssa käyttöön otettua Java Collections Frameworkia, mutta se on suurelta osin korvattu java.util.Map-käyttöliittymällä Java 1.2:n jälkeen.
Sanakirjaluokka on abstrakti luokka, eikä sitä voi ilmentää suoraan. Sen sijaan se tarjoaa perustoiminnot kokoelmaan tallennettujen avainarvoparien käyttämiseksi, jotka on toteutettu sen konkreettisella alaluokalla java.util.Hashtable.
Sanakirja-luokka määrittelee seuraavat menetelmät:
- get(Object key): Palauttaa arvon, joka liittyy määritettyyn avaimeen sanakirjassa, tai nollan, jos avainta ei löydy.
- put(Object key, Object value): Lisää avain-arvo-parin sanakirjaan. Jos avain on jo olemassa, sitä vastaava arvo on
- korvataan uudella arvolla, ja vanha arvo palautetaan. Jos avain on uusi, palautetaan null.
- Poista(Objektiavain): Poistaa määritettyyn avaimeen liittyvän avain-arvo-parin sanakirjasta ja palauttaa sen arvon. Jos avainta ei löydy, palautetaan null.
- size(): Palauttaa sanakirjaan tallennettujen avainarvoparien määrän.
- isEmpty(): Palauttaa tosi, jos sanakirja on tyhjä, ja false muuten.
elements(): Palauttaa luettelon sanakirjaan tallennetuista arvoista. - keys(): Palauttaa sanakirjaan tallennettujen avainten luettelon.
Tässä on esimerkki Sanakirja-luokan käytöstä:
Java
import> java.util.Dictionary;> import> java.util.Enumeration;> import> java.util.Hashtable;> public> class> DictionaryExample {> > public> static> void> main(String[] args)> > {> > Dictionary dict=> new> Hashtable();> > dict.put(> 'Alice'> ,> 25> );> > dict.put(> 'Bob'> ,> 30> );> > dict.put(> 'Charlie'> ,> 35> );> > System.out.println(dict.get(> 'Bob'> ));> // 30> > int> oldValue = dict.put(> 'Charlie'> ,> 40> );> > System.out.println(oldValue);> // 35> > dict.remove(> 'Alice'> );> > System.out.println(dict.size());> // 2> > Enumeration k = dict.keys();> > while> (k.hasMoreElements()) {> > String key = k.nextElement();> > System.out.println(> 'Key: '> + key +> ', Value: '> > + dict.get(key));> > }> > }> }> |
Lähtö
30 35 2 Key: Bob, Value: 30 Key: Charlie, Value: 40
util.Dictionary on abstrakti luokka, joka edustaa a avainarvo ja toimii samalla tavalla kuin kartta. Annetulla avaimella voit tallentaa arvoja ja tarvittaessa noutaa arvon takaisin käyttämällä avainta. Siten se on luettelo avain-arvo-pareista.
julistus
public abstract class Dictionary extends Object
Rakentajat:
Sanakirja() Ainoa rakentaja.
Java.util.Dictionary-luokka on Java-luokka, joka tarjoaa avainarvotietorakenteen, joka on samanlainen kuin Map-käyttöliittymä. Se oli osa alkuperäistä Java Collections -kehystä ja otettiin käyttöön Java 1.0:ssa.
Sanakirja-luokkaa on kuitenkin sittemmin pidetty vanhentuneena, ja sen käyttöä ei yleensä suositella. Tämä johtuu siitä, että se on suunniteltu ennen Collections-kehyksen käyttöönottoa, eikä se toteuta Map-käyttöliittymää, mikä vaikeuttaa sen käyttöä yhdessä muiden kehyksen osien kanssa.
Yleisesti ottaen on suositeltavaa käyttää Map-käyttöliittymää tai jotakin sen toteutuksista (kuten HashMap tai ConcurrentHashMap) Sanakirja-luokan sijaan.
Tässä on esimerkki Sanakirja-luokan käytöstä:
Java
import> java.util.Dictionary;> import> java.util.Enumeration;> import> java.util.Hashtable;> public> class> Main {> > public> static> void> main(String[] args) {> > Dictionary dictionary => new> Hashtable();> > // Adding elements to the dictionary> > dictionary.put(> 'A'> ,> 1> );> > dictionary.put(> 'B'> ,> 2> );> > dictionary.put(> 'C'> ,> 3> );> > // Getting values from the dictionary> > int> valueA = dictionary.get(> 'A'> );> > System.out.println(> 'Value of A: '> + valueA);> > // Removing elements from the dictionary> > dictionary.remove(> 'B'> );> > // Enumerating the elements of the dictionary> > Enumeration keys = dictionary.keys();> > while> (keys.hasMoreElements()) {> > String key = keys.nextElement();> > System.out.println(> 'Key: '> + key +> ', Value: '> + dictionary.get(key));> > }> > }> }> |
Lähtö
Value of A: 1 Key: A, Value: 1 Key: C, Value: 3
Methods of util.Dictionary Class:
1. put(K-avain, V-arvo) : java.util.Dictionary.put(K-avain, V-arvo) lisää avain-arvo -parin sanakirjaan.
Syntaksi :
public abstract V put(K key, V value) Parameters : ->avain -> arvo Return : avain-arvo-pari yhdistetty sanakirjaan
2. elements() : java.util.Dictionary.elements() palauttaa arvon esityksen sanakirjassa.
Syntaksi :
public abstract Enumeration elements() Parameters : -------- Return : value enumeration in dictionary
3. get(Objektiavain) : java.util.Dictionary.get(Objektiavain) palauttaa arvon, joka on kartoitettu argumentoidulla avaimella sanakirjassa.
Syntaksi :
public abstract V get(Object key) Parameters : key - key whose mapped value we want Return : value mapped with the argumented key
4. isEmpty() : java.util.Dictionary.isEmpty() tarkistaa, onko sanakirja tyhjä vai ei.
Syntaksi :
public abstract boolean isEmpty() Parameters : ------ Return : true, if there is no key-value relation in the dictionary; else false
5. avaimet() : java.util.Dictionary.keys() palauttaa avainesityksen sanakirjassa.
Syntaksi :
public abstract Enumeration keys() Parameters : -------- Return : key enumeration in dictionary
6. Poista(Objektiavain) : java.util.Dictionary.remove(Objektiavain) poistaa argumentoidulla avaimella yhdistetyn avain-arvo-parin.
Syntaksi :
public abstract V remove(Object key) Parameters : key : key to be removed Return : value mapped with the key
7. koko() : java.util.Dictionary.size() palauttaa nro. avain-arvo-pareista sanakirjassa.
Syntaksi :
public abstract int size() Parameters : ------- Return : returns the no. of key-value pairs in the Dictionary
Java
// Java Program explaining util.Dictionary class Methods> // put(), elements(), get(), isEmpty(), keys()> // remove(), size()> import> java.util.*;> public> class> New_Class> {> > public> static> void> main(String[] args)> > {> > // Initializing a Dictionary> > Dictionary geek => new> Hashtable();> > // put() method> > geek.put('> 123> ', 'Code');> > geek.put('> 456> ', 'Program');> > // elements() method :> > for> (Enumeration i = geek.elements(); i.hasMoreElements();)> > {> > System.out.println('Value in Dictionary : ' + i.nextElement());> > }> > // get() method :> > System.out.println('
Value at key => 6> : ' + geek.get('> 6> '));> > System.out.println('Value at key => 456> : ' + geek.get('> 123> '));> > // isEmpty() method :> > System.out.println('
There is no key-value pair : ' + geek.isEmpty() + '
');> > // keys() method :> > for> (Enumeration k = geek.keys(); k.hasMoreElements();)> > {> > System.out.println('Keys in Dictionary : ' + k.nextElement());> > }> > // remove() method :> > System.out.println('
Remove : ' + geek.remove('> 123> '));> > System.out.println('Check the value of removed key : ' + geek.get('> 123> '));> > System.out.println('
Size of Dictionary : ' + geek.size());> > }> }> |
Lähtö:
Value in Dictionary : Code Value in Dictionary : Program Value at key = 6 : null Value at key = 456 : Code There is no key-value pair : false Keys in Dictionary : 123 Keys in Dictionary : 456 Remove : Code Check the value of removed key : null Size of Dictionary : 1
Sanakirjaluokan edut:
- Legacy Support: Sanakirjaluokka oli osa alkuperäistä Java Collections -kehystä ja on ollut osa Javaa alusta lähtien. Tämä tarkoittaa, että jos sinulla on vanhaa koodia, joka käyttää sanakirjaa, voit silti käyttää sitä uudessa koodissasi.
- Yksinkertainen käyttää: Sanakirja-luokka on helppokäyttöinen ja tarjoaa perusavainarvotietorakenteen toimintoja, joista voi olla hyötyä yksinkertaisissa tapauksissa.
Sanakirjaluokan haitat:
- Vanhentunut: Sanakirja-luokkaa pidetään vanhentuneena ja sen käyttöä ei yleensä suositella. Tämä johtuu siitä, että se on suunniteltu ennen Collections-kehyksen käyttöönottoa, eikä se toteuta Map-käyttöliittymää, mikä vaikeuttaa sen käyttöä yhdessä muiden kehyksen osien kanssa.
- Rajoitettu toiminnallisuus: Sanakirja-luokka tarjoaa perusavainarvotietorakenteen toiminnallisuuden, mutta ei tarjoa kaikkia Karttarajapinnassa ja sen toteutuksissa käytettävissä olevia toimintoja.
- Ei tyyppiturvallinen: Sanakirja-luokka käyttää Object-luokkaa edustamaan sekä avaimia että arvoja, mikä voi johtaa tyyppivirheisiin ja ajonaikaisiin virheisiin.
Lähdekirjat:
- Maurice Naftalinin ja Philip Wadlerin Java-kokoelmat. Tämä kirja tarjoaa kattavan yleiskatsauksen Java Collections -kehyksestä, mukaan lukien Sanakirja-luokka.
- Java pähkinänkuoressa David Flanagan. Tämä kirja tarjoaa nopean viittauksen Javan ydinominaisuuksiin, mukaan lukien Sanakirja-luokka.
- Maurice Naftalinin ja Philip Wadlerin Java Generics and Collections. Tämä kirja tarjoaa kattavan oppaan geneerisiin tuotteisiin ja kokoelmiin Javassa, mukaan lukien Sanakirja-luokka.