I would say a trie/radix tree for efficient word searching, and LinkedList for the definitions of the word. This even allow to link words together (for example : "Please see: word:").
If you say HashTable, never assume its implementation is correct. If you want to use a hash table, then explain what kind you will be using, for example: "Perfect Hashtable (a hash table where each bucket holds another hash table)".