2011-05-22 83 views
0

這樣做的最好方法是什麼?
我有一個應用程序獲取關於每個10秒(當用戶觸摸屏幕時)的兩個值。從這我得到兩個值,用戶觸摸的球體對象的經度和緯度。
現在我想比較一個文件中的thoose值與一個位置的真實緯度經度,然後比較thoose值和用戶距離多遠。將值與文件中的值進行比較?

我的文件將在每個索引中建立兩個值和一個鍵(位置)。

什麼是做到這一點的最佳方式,它會讀取整個文件與bufferedInputStreamReader的beggining並在

HashMap<String, List<Float>>

thoose存儲或者我會使用一些更好類似SqlLite的數據庫結構?

因爲我在移動平臺上這樣做的表現是相當重要的,這就是爲什麼我問這個問題。

回答

1

根據您需要比較的數據大小,您可以每次查看數據庫(較慢)或在內存中執行二進制搜索(更快)。

如果您存儲在HashMap中(對於內存方法),那麼您將需要對二進制搜索進行排序並實現最大速度。否則,您將在整個值集合中進行線性搜索(迭代)(您可能會接受)。

我會說如果你有幾千條記錄,那麼在內存中執行它,如果你有更多然後走下數據庫路由。

相關問題