logo

Java.util.Dictionary Classe en Java

La classe java.util.Dictionary a Java és una classe abstracta que representa una col·lecció de parells clau-valor, on les claus són úniques i s'utilitzen per accedir als valors. Formava part del Java Collections Framework introduït a Java 1.2, però ha estat substituït en gran part per la interfície java.util.Map des de Java 1.2.

La classe Dictionary és una classe abstracta i no es pot crear una instancia directament. En lloc d'això, proporciona les operacions bàsiques per accedir als parells clau-valor emmagatzemats a la col·lecció, que són implementats per la seva subclasse concreta java.util.Hashtable.



La classe Dictionary defineix els mètodes següents:

  1. get(clau d'objecte): retorna el valor associat a la clau especificada al diccionari, o null si no es troba la clau.
  2. put(clau d'objecte, valor de l'objecte): insereix un parell clau-valor al diccionari. Si la clau ja existeix, el seu valor corresponent és
  3. substituït pel nou valor i es retorna el valor antic. Si la clau és nova, es retorna null.
  4. remove(clau d'objecte): elimina el parell clau-valor associat a la clau especificada del diccionari i retorna el seu valor. Si no es troba la clau, es retorna null.
  5. size(): retorna el nombre de parells clau-valor emmagatzemats al diccionari.
  6. isEmpty(): retorna true si el diccionari està buit i false en cas contrari.
    elements(): retorna una enumeració dels valors emmagatzemats al diccionari.
  7. keys(): retorna una enumeració de les claus emmagatzemades al diccionari.

Aquí teniu un exemple d'ús de la classe Dictionary:

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));> >}> >}> }>



>

>

Sortida

30 35 2 Key: Bob, Value: 30 Key: Charlie, Value: 40>

util.Diccionari és una classe abstracta, que representa a valor-clau relació i funciona semblant a un mapa. Donada una clau, podeu emmagatzemar valors i, quan sigui necessari, podeu recuperar el valor amb la seva clau. Per tant, és una llista de parells clau-valor.

Declaració

public abstract class Dictionary extends Object>

Constructors:
Diccionari () Constructor únic.

La classe java.util.Dictionary és una classe en Java que proporciona una estructura de dades clau-valor, similar a la interfície Map. Formava part del marc original de Java Collections i es va introduir a Java 1.0.

Tanmateix, des de llavors, la classe de Diccionari s'ha considerat obsoleta i generalment es desaconsella el seu ús. Això es deu al fet que es va dissenyar abans de la introducció del marc de col·leccions i no implementa la interfície Map, cosa que dificulta l'ús conjuntament amb altres parts del marc.

En general, es recomana utilitzar la interfície Map o una de les seves implementacions (com ara HashMap o ConcurrentHashMap) en lloc de la classe Dictionary.

Aquí teniu un exemple de com utilitzar la classe de Diccionari:

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));> >}> >}> }>

>

>

Sortida

Value of A: 1 Key: A, Value: 1 Key: C, Value: 3>

Mètodes d'util.Diccionari Classe:

1. put(clau K, valor V): java.util.Dictionary.put (clau K, valor V) afegeix un parell clau-valor al diccionari.

Sintaxi:

public abstract V put(K key, V value) Parameters :  ->clau -> valor Retorn: parell clau-valor assignat al diccionari>

2. elements(): java.util.Dictionary.elements() retorna la representació del valor al diccionari.

Sintaxi:

public abstract Enumeration elements() Parameters :  -------- Return :  value enumeration in dictionary>

3. get (clau d'objecte): java.util.Dictionary.get (clau d'objecte) retorna el valor que s'assigna amb la clau argumentada al diccionari.

Sintaxi:

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() comprova si el diccionari està buit o no.

Sintaxi:

public abstract boolean isEmpty() Parameters :  ------ Return :  true, if there is no key-value relation in the dictionary; else false>

5. keys(): java.util.Dictionary.keys() retorna la representació clau al diccionari.

Sintaxi:

public abstract Enumeration keys() Parameters :  -------- Return :  key enumeration in dictionary>

6. remove (clau d'objecte): java.util.Dictionary.remove (clau d'objecte) elimina el parell clau-valor assignat amb la clau argumentada.

Sintaxi:

public abstract V remove(Object key) Parameters :  key : key to be removed Return :  value mapped with the key>

7. size(): java.util.Dictionary.size() retorna el núm. de parells clau-valor al Diccionari.

Sintaxi:

public abstract int size() Parameters :  ------- Return :  returns the no. of key-value pairs in the Dictionary>

Java


com fer-ho a Photoshop



// 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());> >}> }>

>

>

Sortida:

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>

Avantatges de la classe de diccionari:

  1. Suport heretat: la classe Dictionary formava part del marc original de Java Collections i forma part de Java des del principi. Això vol dir que si teniu codi heretat que utilitza Diccionari, encara podeu utilitzar-lo al vostre codi nou.
  2. Fàcil d'utilitzar: la classe de Diccionari és senzill d'utilitzar i proporciona una funcionalitat bàsica d'estructura de dades de valor-clau, que pot ser útil per a casos senzills.

Desavantatges de la classe de diccionari:

  1. Obsolet: la classe Diccionari es considera obsoleta i generalment es desaconsella el seu ús. Això es deu al fet que es va dissenyar abans de la introducció del marc de col·leccions i no implementa la interfície Map, cosa que dificulta l'ús conjuntament amb altres parts del marc.
  2. Funcionalitat limitada: la classe Dictionary proporciona una funcionalitat bàsica de l'estructura de dades clau-valor, però no ofereix la gamma completa de funcionalitats disponibles a la interfície Map i les seves implementacions.
  3. No és segur de tipus: la classe Dictionary utilitza la classe Object per representar tant les claus com els valors, cosa que pot provocar desajustos de tipus i errors en temps d'execució.

Llibres de referència:

  1. Col·leccions Java de Maurice Naftalin i Philip Wadler. Aquest llibre ofereix una visió general completa del marc de col·leccions de Java, inclosa la classe Dictionary.
  2. Java en poques paraules de David Flanagan. Aquest llibre proporciona una referència ràpida per a les característiques bàsiques de Java, inclosa la classe Dictionary.
  3. Java Generics and Collections de Maurice Naftalin i Philip Wadler. Aquest llibre ofereix una guia completa sobre genèrics i col·leccions en Java, inclosa la classe Dictionary.