J'essaye d'implémenter un dictionnaire (comme dans le livre physique). J'ai une liste de mots et leurs significations.
Quelle structure/type de données Java permet-il de stocker une liste de mots et leur signification sous forme de paires clé/valeur?.
Comment, avec une clé, puis-je trouver et retourner la valeur?
Vous voudrez un Map<String, String>
. Les classes qui implémentent l'interface Map
incluent (sans toutefois s'y limiter):
Chacun est conçu/optimisé pour certaines situations (consultez leur documentation respective pour plus d’informations). HashMap
est probablement le plus commun; le go-to default.
Par exemple (en utilisant un HashMap
):
Map<String, String> map = new HashMap<String, String>();
map.put("dog", "type of animal");
System.out.println(map.get("dog"));
type d'animal
Cela crée un dictionnaire de texte (chaîne):
Map<String, String> dictionary = new HashMap<String, String>();
vous l'utilisez alors comme:
dictionary.put("key", "value");
String value = dictionary.get("key");
Fonctionne mais donne une erreur vous devez garder la classe de constructeur identique à la classe de déclaration. Je sais qu'il hérite de la classe parente mais, malheureusement, cela donne une erreur lors de l'exécution.
Map<String, String> dictionary = new Map<String, String>();
Cela fonctionne correctement.
Utilisez interface de la carte et une implémentation telle que HashMap
Il y a un dictionnaire de classe abstrait
http://docs.Oracle.com/javase/6/docs/api/Java/util/Dictionary.html
Cependant, cela nécessite une mise en œuvre.
Java nous donne une implémentation de Nice appelée Hashtable
http://docs.Oracle.com/javase/6/docs/api/Java/util/Hashtable.html