1

単純な変数に格納したい一連のデータがあります。基本的に、位置座標を含む 15 の名前のリストです。Python では、次のような dict を作成します。

locations = {'Location1': [lat1, lon1], 'Location2': [lat2, lon2], ...}

そうすれば、場所の名前をキーとして使用して、後で座標を呼び出すことができます。

coords = locations['Location1']

Javaでこれを行うのに相当するものはありますか? 基本的に、コード内でこれらの場所を定数として定義したいと考えています。

最初の非常に迅速な返信を受け取った後に編集します。

これを追加しました:

private class coordinates {
    private Long lat;
    private Long lon;
    public Long getLat() {
        return lat;
    }
    public void setLat(Long lat) {
        this.lat = lat;
    }
    public Long getLon() {
        return lon;
    }
    public void setLon(Long lon) {
        this.lon = lon;
    }
}

private final static Map<String, coordinates> LOCATIONS;

もちろん、最後の行は不完全です。余分な一時変数を使用して 2 つのセッターにアクセスせずに、このことを設定する方法に途方に暮れているため、値のセットごとに数行のコードが必要になります。

4

3 に答える 3

3

Java では、これの正しいデータ構造はMapになります。

于 2013-03-13T16:43:39.743 に答える
3

Java で Map を使用できます。

お気に入り: Map<LocationObject, CoordinateObject>

どこCoordinateObject has latitude and longitude as attributes

class CoordinateObject {
   //longitude;
   //latitude;
}
于 2013-03-13T16:43:33.587 に答える
0

別のオブジェクトを作成する手間をかけずに、StackOverflow で他の回答をいくつか適応させることで、より便利な解決策を見つけたと思います (そして、間違った型を使用していることに気付きました)。

private final static Map<String, Double[]> LOCATIONS;
static
{
    LOCATIONS = new Map<String, Double[]>();
    LOCATIONS.put("Central_Western", new Double[] {22.288262, 114.140138});
    LOCATIONS.put("Eastern", new Double[] {22.286078, 114.216957});
}

Double[] loc = LOCATIONS["Central_Western"]これで、呼び出して 2 つの数値の配列を取得できるはずです。

OK、まだテストしていません... Java/Android でこのような小さなことを試すのはとても難しいです... Python のコンソールが恋しいです...

于 2013-03-13T17:25:32.070 に答える