【发布时间】:2017-02-20 14:33:54
【问题描述】:
我对比较和收集我正在创建的哈希表中的数据的方式有点坚持。代码有点乱,因为我现在对下一步去哪里有点困惑,我道歉。
我有两个哈希表。每个表都包含作为坐标的键。一张表保存经度,另一张表保存纬度。每边的值都有一个位置。我想做的是比较两个表的值,所以如果字符串相同,那么可以将键和值放入单独的 ArrayLists 中。一个坐标列表,一个用于 lat 一个用于 lon 以使 gps 功能更容易,然后是一个位置列表。
代码如下:
public static void trails(String[] args) {
Hashtable<Double, String> trailLat = new Hashtable<Double, String>();
trailLat.put(51.7181283, "Bike Park Wales");
...
Hashtable<Double, String> trailLon = new Hashtable<Double, String>();
trailLon.put(-3.3633637, "Bike Park Wales");
...
if ( trailLat.keys() >= userLatL && trailLat.keys() <= userLatH ) {
trailLat.values().retainAll(trailLon);
ArrayList<Item> items = new ArrayList<Item>(trailLat.values());
}
....
我只包含了代码的纬度部分,因为我认为它只是重复了。
“userLatL”和“userLatH”是用户位置坐标 20 英里半径边界。这个想法是返回落在该数字差/20 英里半径内的键和值。
提前干杯!任何帮助将不胜感激!
【问题讨论】:
-
trailLat.keys() >= 这是什么魔法?。另外,为什么
HashTable?? -
我把它放进去是因为我想了解我想要在那里做的事情,我并不是说它是代码的真正形成。整个部分可能会一团糟,对此我深表歉意
-
请发布可编译的代码。
-
如果您有一组带有坐标的项目,并且想要过滤特定边界内的项目(maxLat、minLat、maxLon、minLon),这绝对是错误的方法..
-
哦,那部分可以编译!但它并没有做我想要它做的事情。而且,我认为 HashTable 将是最好的方法? @fustaki 好的,你会推荐什么方法???
标签: java android arraylist location hashtable