我有一组数据要存储在一个简单的变量中。基本上是具有位置坐标的十五个名称的列表。在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;
最后一行当然不完整;我不知道如何填充这个东西,而不使用额外的临时变量来访问这两个setter,导致每一组值都有几行代码。
答案 0 :(得分:3)
您可以使用Map in java:
赞:Map<LocationObject, CoordinateObject>
CoordinateObject has latitude and longitude as attributes
class CoordinateObject {
//longitude;
//latitude;
}
答案 1 :(得分:3)
在Java中,正确的数据结构是Map。
答案 2 :(得分: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"]
并且有一个包含两个数字的数组。
好的还没有测试过......在Java / Android中尝试这么小的东西真是太难了...我很想念Python的控制台......