HashSet of Strings占用了太多内存,建议......?

Dor*_*ori 14 java memory

我目前正在HashSet中存储一个单词列表(大约120,000个),目的是用作列表来检查被激活的单词,看它们是否拼写正确,只返回是或否.

我想知道是否有办法做到这一点,占用更少的内存.目前120,000个单词约为12meg,单词读取的实际文件大约为900kb.

有什么建议?

提前致谢

san*_*ris 10

您可以使用前缀树或trie:http://en.wikipedia.org/wiki/Trie


Ara*_*ram 6

查看布隆过滤器或布谷鸟哈希.布隆过滤器还是布谷鸟哈希?

我不确定这是否是您问题的答案,但值得研究这些替代方案.bloom过滤器主要用于拼写检查器类用例.