【发布时间】:2012-02-29 04:04:33
【问题描述】:
我正在制作一个 Java 应用程序,它将存储一堆随机单词(可以随时添加到应用程序中或从应用程序中删除)。我想要快速查找以查看给定单词是否在字典中。用于此的最佳 java 数据结构是什么?到目前为止,我正在考虑使用 hashMap,并使用同一个词作为值和该值的键。这是常见的做法吗?对(键,值)对中的键和值使用相同的字符串对我来说似乎很奇怪,所以我想确保没有更好的想法被我忽略了。
我也在考虑使用 treeMap 来保持单词排序,给我一个 O(lgn) 查找时间,但是据我了解 hashMap 应该给出一个预期的 O(1) 查找时间,所以我认为会更好。
所以基本上我只是想确保 hashMap 想法与字符串加倍作为每个 (key,value) 对中的键和值将是一个不错的决定。谢谢。
【问题讨论】:
-
地图中的关键是什么?或者如果这个词是关键,那么价值是什么?
-
@Paul 这个词将兼作键和值。两者的词对象相同。这似乎是多余的,所以这就是我问这个问题的原因。