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:

  1. get(Object key): Palauttaa arvon, joka liittyy määritettyyn avaimeen sanakirjassa, tai nollan, jos avainta ei löydy.
  2. put(Object key, Object value): Lisää avain-arvo-parin sanakirjaan. Jos avain on jo olemassa, sitä vastaava arvo on
  3. korvataan uudella arvolla, ja vanha arvo palautetaan. Jos avain on uusi, palautetaan null.
  4. Poista(Objektiavain): Poistaa määritettyyn avaimeen liittyvän avain-arvo-parin sanakirjasta ja palauttaa sen arvon. Jos avainta ei löydy, palautetaan null.
  5. size(): Palauttaa sanakirjaan tallennettujen avainarvoparien määrän.
  6. isEmpty(): Palauttaa tosi, jos sanakirja on tyhjä, ja false muuten.
    elements(): Palauttaa luettelon sanakirjaan tallennetuista arvoista.
  7. 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:

  1. 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.
  2. Yksinkertainen käyttää: Sanakirja-luokka on helppokäyttöinen ja tarjoaa perusavainarvotietorakenteen toimintoja, joista voi olla hyötyä yksinkertaisissa tapauksissa.

Sanakirjaluokan haitat:

  1. 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.
  2. Rajoitettu toiminnallisuus: Sanakirja-luokka tarjoaa perusavainarvotietorakenteen toiminnallisuuden, mutta ei tarjoa kaikkia Karttarajapinnassa ja sen toteutuksissa käytettävissä olevia toimintoja.
  3. Ei tyyppiturvallinen: Sanakirja-luokka käyttää Object-luokkaa edustamaan sekä avaimia että arvoja, mikä voi johtaa tyyppivirheisiin ja ajonaikaisiin virheisiin.

Lähdekirjat:

  1. Maurice Naftalinin ja Philip Wadlerin Java-kokoelmat. Tämä kirja tarjoaa kattavan yleiskatsauksen Java Collections -kehyksestä, mukaan lukien Sanakirja-luokka.
  2. Java pähkinänkuoressa David Flanagan. Tämä kirja tarjoaa nopean viittauksen Javan ydinominaisuuksiin, mukaan lukien Sanakirja-luokka.
  3. Maurice Naftalinin ja Philip Wadlerin Java Generics and Collections. Tämä kirja tarjoaa kattavan oppaan geneerisiin tuotteisiin ja kokoelmiin Javassa, mukaan lukien Sanakirja-luokka.