存储大型词典的方法,内存占用量小+快速查找(在Android上)
我正在开发一个Android文字游戏应用程序,需要一个大型(约250,000个单词的字典)可用。我需要:
- 相当快的查找速度,例如恒定时间更好,有时需要每秒进行200次查找以解决单词难题,也许在0.2秒内进行20次查找以检查用户刚刚拼写的单词。
编辑:查找通常会询问“在字典中吗?我也想在单词中支持最多两个通配符,但是通过生成通配符可能具有的所有可能的字母并检查生成的单词(即26 * 26查找具有两个通配符的单词)这很容易。
- 由于它是一个移动应用程序,因此使用尽可能少的内存并且只需要少量的字典数据初始下载是重中之重。
我的第一次天真尝试使用了Java的HashMap类,这导致了内存不足异常。我已经考虑过使用Android上可用的SQL lite数据库,但这似乎有点过分了。
做我需要的事情的好方法是什么?