Estoy tratando de implementar un diccionario (como en el libro físico). Tengo una lista de palabras y sus significados.
¿Qué tipo / estructura de datos proporciona Java para almacenar una lista de palabras y sus significados como pares clave / valor?
¿Cómo, dada una clave, puedo encontrar y devolver el valor?
java
dictionary
key-value
usuario1849819
fuente
fuente

Respuestas:
Querrás un
Map<String, String>. Las clases que implementan laMapinterfaz incluyen (pero no están limitadas a):HashMapLinkedHashMapHashtableCada uno está diseñado / optimizado para ciertas situaciones (vaya a sus documentos respectivos para obtener más información).
HashMapes probablemente el más común; el go-to default.Por ejemplo (usando a
HashMap):fuente
Map(verifique el javadoc)Map<String, String> map = new HashMap<>();Esto crea un diccionario de texto (cadena):
luego lo usas como:
Map<String, String> dictionary = new Map<String, String>();Esto funciona correctamente
fuente
dictionary["key"]no funcionará, debería serlodictionary.get("key").Utilice la interfaz del mapa y una implementación como HashMap
fuente
Hay un diccionario de clase abstracta
http://docs.oracle.com/javase/6/docs/api/java/util/Dictionary.html
Sin embargo, esto requiere implementación.
Java nos da una buena implementación llamada Hashtable
http://docs.oracle.com/javase/6/docs/api/java/util/Hashtable.html
fuente
Dictionaryestá obsoleto y ninguna de las implementaciones lo extiende.