Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/368.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
用java存储数据集,如python';格言_Java_Android_Multidimensional Array - Fatal编程技术网

用java存储数据集,如python';格言

用java存储数据集,如python';格言,java,android,multidimensional-array,Java,Android,Multidimensional Array,我有一组数据要存储在一个简单变量中。基本上是一个包含15个名字和位置坐标的列表。在Python中,我将创建一个dict,类似于: locations={'Location1':[lat1,lon1],'Location2':[lat2,lon2],…} 这样,我可以稍后使用位置名称作为键调用坐标: coords=locations['Location1'] 在Java中有没有类似的工具可以做到这一点?我基本上想在代码中将这些位置定义为常量 在收到第一个非常快速的回复后进行编辑: 我现在补充说:

我有一组数据要存储在一个简单变量中。基本上是一个包含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;
私有类坐标{
私人长lat;
私人长龙;
公共长getLat(){
返回lat;
}
公共无效设置(长设置){
this.lat=lat;
}
公共长getLon(){
返回离子;
}
公共空间设置(长设置){
this.lon=lon;
}
}
私人最终静态地图位置;
最后一行当然不完整;我不知道如何填充这个东西,而不使用额外的临时变量访问两个setter,从而为每个值集生成几行代码。

您可以使用:

比如:
Map

其中,
坐标对象的纬度和经度作为属性

class CoordinateObject {
   //longitude;
   //latitude;
}
您可以使用:

比如:
Map

其中,
坐标对象的纬度和经度作为属性

class CoordinateObject {
   //longitude;
   //latitude;
}

在Java中,正确的数据结构应该是a。

在Java中,正确的数据结构应该是a。

我想我找到了一个更方便的解决方案,通过调整StackOverflow的一些其他答案,而不必创建单独的对象(并且意识到我使用了错误的类型):

私有最终静态地图位置;
静止的
{
位置=新地图();
地点.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是面向对象的。我认为你应该用一个班级组织来协调这是不可能的,因为它是一张静态地图,所有数据都是硬编码的。它应该是只读的。这样的话,它就没有杂乱的东西了,而且还能工作。此外,如果值是自定义对象,则不知道如何轻松填充(和读取)地图中的数据。