巨大的字符串静态数组

hrz*_*fer 1 java string static

在字符串的静态数组中存储100,000字的字典是一个好主意.我正在研究拼写检查,我认为这样会更快.

Gop*_*opi 5

绝对将数字字符串存储为数组并不是一个好主意,特别是如果您使用它进行拼写检查,这意味着您将不得不搜索和比较字符串.通过数组搜索或比较字符串会使效率低下,因为它总是线性搜索


pol*_*nts 5

对于任何非常重要的事情,您通常应该更喜欢Java Collections Framework类到本机Java数组.在这种特殊情况下,你所拥有的是Set<String>(因为字典中不会出现多次单词).

一个HashSet<String>提供恒定的时间表现为基本操作add,remove以及contains,并应与工作非常好String哈希码公式.

对于较大的词典,您需要使用专门用于存储一组字符串(例如trie)的更复杂的数据结构,但对于100K字,a HashSet应该足够了.

也可以看看

  • 提及Trie的+1,因为它是在上述问题字段中使用的有效数据结构,即拼写检查. (3认同)