现在作为我的Android应用程序的一部分,我有一个.csv文件,其中包含存储在手机SD卡上的15,000行。每次我的应用程序启动时,它会将这15,000行读入两个并行数组。我为3个文件执行此操作,因此总共有6个数组,每个存储15,000个元素。我需要在维持秩序的同时快速搜索这些项目。
我担心如果我保持代码的方式,我将开始在手机上耗尽内存并让应用程序崩溃。使用readline
搜索csv文件而不是将每个数组的整体读入数组列表是否更快,这样我就不会遇到内存问题?在维持秩序的同时有更好的方法吗?
SD卡上的内容采用以下形式:
New York, test1
New Jersey, test2
Colorado, test3
Arkansas, test4
New York, test5
etc..
答案 0 :(得分:5)
我认为更好的解决方案是将它们存储在SQLite数据库中,并在查询时使用ORDER BY
,并且只查询当时需要的数据。
答案 1 :(得分:1)
- 如果您想使用数组进行搜索,那么最好使用array
将 List
转换为Arrays.asList()
方法和然后使用 contains()
方法搜索数据。
- 另一种方法是使用SQLite DataBase