2011-05-22 85 views
0

这样做的最好方法是什么?
我有一个应用程序获取关于每个10秒(当用户触摸屏幕时)的两个值。从这我得到两个值,用户触摸的球体对象的经度和纬度。
现在我想比较一个文件中的thoose值与一个位置的真实纬度经度,然后比较thoose值和用户距离多远。将值与文件中的值进行比较?

我的文件将在每个索引中建立两个值和一个键(位置)。

什么是做到这一点的最佳方式,它会读取整个文件与bufferedInputStreamReader的beggining并在

HashMap<String, List<Float>>

thoose存储或者我会使用一些更好类似SqlLite的数据库结构?

因为我在移动平台上这样做的表现是相当重要的,这就是为什么我问这个问题。

回答

1

根据您需要比较的数据大小,您可以每次查看数据库(较慢)或在内存中执行二进制搜索(更快)。

如果您存储在HashMap中(对于内存方法),那么您将需要对二进制搜索进行排序并实现最大速度。否则,您将在整个值集合中进行线性搜索(迭代)(您可能会接受)。

我会说如果你有几千条记录,那么在内存中执行它,如果你有更多然后走下数据库路由。

相关问题