android:如何有效地查询键值对

时间:2013-05-01 16:09:24

标签: android performance key keyvaluepair

我有大约3000对(键,值)。它们是固定的,不会永远改变。在我的应用程序中,有一个页面需要进行大约200次查询。对于每个查询,他们接受密钥并询问值。而且,它们是顺序的。我必须完成查询1以获得“值1”,然后我知道查询2的键获得“值2”。

我尝试用SQLite实现。我测量了时间,发现这很慢,耗时约600ms。我想知道是否有更好的方法来实现它?例如,3000大小的字符串数组?或其他hashmap?谢谢你的建议。

编辑:忘记提及键和值的大小,键的大小:2char(unicode),值:4~6char,实际上它类似于查找语言字典。

1 个答案:

答案 0 :(得分:0)

答案取决于必须放入此容器的数据量?例如。 3000对五个字节:没问题,将数据保存在内存中;但是,3000对350字节:已经大约1MB。

如果您的数据量相当少,您可以考虑使用最初由SQL查询填充的静态SparseArray或代码中的赋值。 SparseArray旨在比HashTable更有效率。

如果密钥不是整数,则HashTable仍然比SQL查询快得多。

如果您有更大的数据集,可以使用LruCache