2012-11-30 112 views
1

現在作爲我的Android應用程序的一部分,我有一個.csv文件,其中包含存儲在手機的SD卡上的15000行。每次啓動應用程序時,都會將這15,000行讀入兩個並行陣列。我爲3個文件這樣做總共有6個數組,每個存儲15,000個元素。我需要快速搜索這些項目,同時保持秩序。搜索大量的訂購字符串

我擔心如果我保持代碼的方式,我會開始在手機上耗盡內存並導致應用程序崩潰。如果使用readline來搜索csv文件而不是將每個數組的整體讀入數組列表,那麼速度會更快嗎?所以我不會遇到內存問題?在維持秩序的同時有沒有更好的方法來做到這一點?

在SD卡上的內容爲以下形式:

New York, test1 
New Jersey, test2 
Colorado, test3 
Arkansas, test4 
New York, test5 
etc.. 

回答

1

-如果你想使用陣列進行搜索,那麼它最好轉換arrayList使用Arrays.asList()方法和然後用的方法來搜索數據。

-另一種方式來做到這一點,將使用SQLite DataBase

+0

相反轉換數組列表不能我只是列出了開始的?使用列表有什麼好處? – Peter

+0

@Peter如果你可以從List開始,這將是最好的,因爲使用** java中的Collection框架給出比Array **更大的靈活性。對於初學者來說,我會給你List最常見的好處,就是'當我們初始化它時,我們不需要提及List的大小,並且可以從列表中動態添加,刪除..等等。' –

+0

I已經在使用一個ArrayList有很大的區別?請原諒我缺乏知識 – Peter

5

我想一個更好的解決辦法是將它們存儲在SQLite數據庫和查詢時使用ORDER BY,你需要什麼樣的數據只查詢在那一刻。