我正在寻找使用Android应用程序查找随机英语单词的最佳方法。有没有比使用res /文件夹中的所有单词保存.txt文件更好的方法,例如
http://www.stanford.edu/class/cs106l/assignments/dictionary.txt
然后将其导入ArrayList?我正在开发的应用程序会经常搜索单词,例如以字母“A”或“Be”开头的随机单词。我担心这个函数的内存和运行时间。
答案 0 :(得分:2)
创建一个包含所有单词的SQLite数据库。然后,您可以使用SQL查询该数据库,以使您的随机单词与各种起始字母匹配。
SQLite详细信息:http://developer.android.com/reference/android/database/sqlite/package-summary.html
查找有关在SQL中使用LIKE进行文本匹配的文档。
示例:http://www.techonthenet.com/sql/like.php
要获得随机性,请找到符合条件的所有字词。得到它们的数量(称之为'n'),然后在1和n之间选择一个随机数'x',并取第x个记录。
答案 1 :(得分:0)
使用here所述的前缀树(或Trie)。
它极其高效,因为所有单词开头只存储一次。