Я столкнулся с несколькими вопросами и статьями, говорящими о том, что реализация словаря в java выполняется лучше всего с помощью попыток. Но большинство из них не рассматривали важные вопросы, насколько я это видел. Итак, следующая задача в реальном мире:
Предположим, что мне нужно реализовать словарь (скажем, что-то вроде Lingvo, но проще) с помощью java. Для моей конкретной задачи необходимо хранить определения слов и выполнять быстрый поиск в словарях.
Пожалуйста, обращайтесь к следующим вопросам:
- Какую структуру данных следует использовать тогда (Trie или HashTable)?
- Как это организовать (поиск, набор данных), если мне нужно, чтобы словарь не чувствителен к регистру?
- Что делать, если я хочу, чтобы он (поиск, словарь) был чувствительным к регистру?
P.S.: Примеры кода заслуживают высокой оценки.:)
Спасибо за ответы заранее.
UPDATE. Если мы говорим о стандартных реализациях DS в java, верно ли, что HashTable будет лучшим для этой конкретной задачи? Почему не HashMap, TreeMap или LinkedHashMap?