2017-02-20 4 views
0

私は、私が作成しているハッシュテーブルからデータを比較して収集したいと思っている方法にちょっと固執しています。コードはちょっと混乱しています。次の場所に少し混乱しています。私はお詫びします。は2つのハッシュテーブルの値を比較し、結果をアーラリストに入れます

私は2つのハッシュテーブルを持っています。各テーブルは、座標であるキーを保持する。 1つのテーブルは経度を保持し、他のテーブルは緯度を保持します。各側面の値は場所を保持します。私がしたいのは、2つのテーブルの値を比較することです。文字列が同じであれば、KeyとValueを別々のArrayListsに入れることができます。座標リスト。恐らくlatのためのものとlpsのためのものがあります。私はそれだけで繰り返しだと思うだろうと私はコードのみの緯度部分を含めました

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マイルの範囲内にあるキーと値を返すことです。

事前に乾杯!どんな助けでも本当にありがとう!

+0

* trailLat.keys()> = *このソーサリーとは何ですか?また、なぜ 'HashTable'? – CKing

+0

私はそこで何をしたいのかを知りたかったので、私はそれを投げました。私はそれがコードの実際の形成であることを意味しませんでした。その部分は本当に混乱している可能性があります。私はそれを謝罪します – RazerB12

+0

コンパイルするコードを投稿してください。 – CKing

答えて

0

私はあなたが20マイルの半径を見ているにもかかわらず、あなたはその半径がこれまでより大きく成長した場合、アカウントに地球の球形を取る必要があります

class Trail{ 
    String name; 
    double lat,lon; 
} 

double LAT_MIN, LAT_MAX, LON_MIN, LON_MAX; 
List<Trail> trails = new ArrayList<Trail>(); 
//populate trails from db or whatever 

List<Trail> goodTrails = new ArrayList<Trail>(); 
for(Trail trail : trails){ 
    if(trail.lat > LAT_MIN && trail.lat < LAT_MAX && trail.lon > LON_MIN && trail.lon < LON_MAX){ 
     goodTrails.add(trail); 
    } 
} 
+0

お時間をありがとう!しかし、私は少し混乱しています。まず、コードが正しくコンパイルされない、2番目のリストの前に問題がある...?次に、ArrayListのトレールリストを作成するにはどうすればいいですか? – RazerB12

0

このアプローチを使用します。

また、キーがlon/lat値である2つのハッシュマップの代わりに、より良い構造が必要です。シンプルなテーブルを使用して、データベース内またはオブジェクトのリストとしてすべてのポイントを保存することができます。私は他の人の作品を使用したくない

、すべてがここで説明されています

http://janmatuschek.de/LatitudeLongitudeBoundingCoordinates

グッドラック。

+0

それは面白い読書でした。ありがとうございました! – RazerB12

関連する問題