Java - 通常的做法是使用哈希表(例如HashMap)将对象映射到自己?

Tim*_*Tim 4 java hashmap treemap

我正在创建一个java应用程序,它将存储一堆随机单词(可以随时添加到应用程序或从应用程序中删除).我想快速查找以查看给定单词是否在字典中.什么是最好的java数据结构用于此?截至目前,我正在考虑使用hashMap,并使用相同的单词作为值和该值的键.这是常见做法吗?对于(键,值)对中的键和值使用相同的字符串对我来说似乎很奇怪,所以我想确保没有更好的想法,我忽略了.

我也在考虑使用treeMap来保持单词排序,给我一个O(lgn)查找时间,但hashMap应该给出预期的O(1)查找时间,因为我理解它,所以我认为这会更好.

所以基本上我只是想确保hashMap想法与字符串加倍,因为每个(键,值)对中的键和值都是一个很好的决定.谢谢.

Mar*_*ers 8

我想快速查找以查看给定单词是否在字典中.什么是最好的java数据结构用于此?

这是一本教科书的用例Set.你可以使用HashSet.Set<T>使用相应Map<T, Object>的简单实现只是标记条目是否存在.