用java存储数据集,如python';格言
我有一组数据要存储在一个简单变量中。基本上是一个包含15个名字和位置坐标的列表。在Python中,我将创建一个dict,类似于:用java存储数据集,如python';格言,java,android,multidimensional-array,Java,Android,Multidimensional Array,我有一组数据要存储在一个简单变量中。基本上是一个包含15个名字和位置坐标的列表。在Python中,我将创建一个dict,类似于: locations={'Location1':[lat1,lon1],'Location2':[lat2,lon2],…} 这样,我可以稍后使用位置名称作为键调用坐标: coords=locations['Location1'] 在Java中有没有类似的工具可以做到这一点?我基本上想在代码中将这些位置定义为常量 在收到第一个非常快速的回复后进行编辑: 我现在补充说:
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;
私有类坐标{
私人长lat;
私人长龙;
公共长getLat(){
返回lat;
}
公共无效设置(长设置){
this.lat=lat;
}
公共长getLon(){
返回离子;
}
公共空间设置(长设置){
this.lon=lon;
}
}
私人最终静态地图位置;
最后一行当然不完整;我不知道如何填充这个东西,而不使用额外的临时变量访问两个setter,从而为每个值集生成几行代码。您可以使用:
比如:Map
其中,坐标对象的纬度和经度作为属性
class CoordinateObject {
//longitude;
//latitude;
}
Map
其中,坐标对象的纬度和经度作为属性
class CoordinateObject {
//longitude;
//latitude;
}
私有最终静态地图位置;
静止的
{
位置=新地图();
地点.put(“中西区”,新双[]22.288262114.140138});
地点:put(“东部”,新双[]{22.286078,114.216957});
}
现在我应该能够调用Double[]loc=LOCATIONS[“中西区”]
并拥有一个由两个数字组成的数组
好的,我还没有测试过。。。在Java/Android中尝试这样的小事情太难了。。。我非常想念Python的控制台 我想我找到了一个更方便的解决方案,通过修改StackOverflow的其他答案,而不必创建单独的对象(并且意识到我使用了错误的类型):
私有最终静态地图位置;
静止的
{
位置=新地图();
地点.put(“中西区”,新双[]22.288262114.140138});
地点:put(“东部”,新双[]{22.286078,114.216957});
}
现在我应该能够调用Double[]loc=LOCATIONS[“中西区”]
并拥有一个由两个数字组成的数组
好的,我还没有测试过。。。在Java/Android中尝试这样的小事情太难了。。。我非常想念Python的控制台 一个包含lat和lon字段的自定义对象的映射。一个包含lat和lon字段的自定义对象的映射。我希望它不会给我的程序添加一个完整的类和更多的混乱。如何填充此地图?可能会有帮助。在这种情况下不适用;我只需要存储这些数字,这样以后我就可以检索它们来在地图上放置标记,而不需要任何计算。@Wouter在这种情况下,使用带有自定义坐标类的地图是一种可行的方法。我希望它不会给我的程序添加一个完整的类和更多的混乱。如何填充此地图?可能会有帮助。在这种情况下不适用;我只需要存储这些数字,以便以后检索它们以在地图上放置标记,无需进行任何计算。@在这种情况下,使用带有自定义坐标的地图类是一种方法。嗯,问题是如果有人意外地用一个额外的十进制数填充了您的双数组??。java是面向对象的。我认为你应该用一个班级组织来协调这是不可能的,因为它是一张静态地图,所有数据都是硬编码的。它应该是只读的。这样的话,它就没有杂乱的东西了,而且还能工作。此外,如果值是自定义对象,则不知道如何轻松填充(和读取)映射中的数据。嗯,问题是如果有人意外地用一个额外的十进制数填充了您的双数组,会怎么样??。java是面向对象的。我认为你应该用一个班级组织来协调这是不可能的,因为它是一张静态地图,所有数据都是硬编码的。它应该是只读的。这样的话,它就没有杂乱的东西了,而且还能工作。此外,如果值是自定义对象,则不知道如何轻松填充(和读取)地图中的数据。