Я пытаюсь реализовать словарь (как в физической книге). У меня есть список слов и их значения.
Какую структуру / тип данных предоставляет Java для хранения списка слов и их значений в виде пар ключ / значение.
Как, учитывая ключ, я могу найти и вернуть значение?
java
dictionary
key-value
user1849819
источник
источник
Ответы:
Вы будете хотеть
Map<String, String>
. Классы, которые реализуютMap
интерфейс, включают (но не ограничиваются ими):HashMap
LinkedHashMap
Hashtable
Каждый из них разработан / оптимизирован для определенных ситуаций (для получения дополнительной информации перейдите к соответствующим документам).
HashMap
вероятно, самый распространенный; переход к умолчанию.Например (используя
HashMap
):источник
Map
(проверьтеMap<String, String> map = new HashMap<>();
Это создает словарь текста (строка):
Затем вы используете его как:
Map<String, String> dictionary = new Map<String, String>();
Это работает правильно.
источник
dictionary["key"]
не сработает - так и должно бытьdictionary.get("key")
.Используйте интерфейс Map и такую реализацию, как HashMap
источник
Есть словарь абстрактных классов
http://docs.oracle.com/javase/6/docs/api/java/util/Dictionary.html
Однако это требует реализации.
Java дает нам хорошую реализацию под названием Hashtable
http://docs.oracle.com/javase/6/docs/api/java/util/Hashtable.html
источник
Dictionary
устарел и ни одна из реализаций не расширяет его.