Data structures 两个数组还是地图结构中的一个?

Data structures 两个数组还是地图结构中的一个?,data-structures,Data Structures,我正在尝试创建一个映射,其中数据将是静态的,并且在程序启动后不会更改(实际上是从服务器加载的) 是否最好有两个数组,例如在Java中: String keys[] = new String[10]; String values[] = new String[10]; 其中键[i]对应于值[i] 或者将它们保存在单个数组中,例如 String[][] map[] = new String[10][2]; where map[i][0] is the key and map[i][1] is th

我正在尝试创建一个映射,其中数据将是静态的,并且在程序启动后不会更改(实际上是从服务器加载的)

是否最好有两个数组,例如在Java中:

String keys[] = new String[10];
String values[] = new String[10];
其中键[i]对应于值[i]

或者将它们保存在单个数组中,例如

String[][] map[] = new String[10][2];
where map[i][0] is the key and map[i][1] is the value?
就个人而言,第一个对我更有意义,但第二个对我的伴侣更有意义。从性能上看,两者中的哪一个更好?更容易理解


更新:我希望在不存在Map和KeyValuePairs的JavaScript中实现这一点

A看起来像您需要的。它以这样的方式散列键,以便在O(1)中进行查找。

a看起来像您需要的。它以这样一种方式对键进行散列,以便在O(1)中进行查找。

使用实现(Java)会更容易理解,因为关联更清晰:

static final Map<String, String> my_map;
static
{
    my_map = new HashMap<String, String>();
    // Populate.
}
静态最终地图我的地图;
静止的
{
my_map=新HashMap();
//填充。
}
使用实现(Java)会更容易理解,因为关联更清晰:

static final Map<String, String> my_map;
static
{
    my_map = new HashMap<String, String>();
    // Populate.
}
静态最终地图我的地图;
静止的
{
my_map=新HashMap();
//填充。
}

因此,您希望在javascript中实现这一点。js中的任何数组或对象都在映射中,因此您可以

var mymap = {'key1':'value1','key2':'value2'};

所以,您希望用javascript实现这一点。js中的任何数组或对象都在映射中,因此您可以

var mymap = {'key1':'value1','key2':'value2'};

Java就是您将要用于此目的的语言吗?您是在创建自己的映射类,还是允许使用预构建的映射类?在这两种语言中,第一种对我来说更清楚,而且更容易正确!但第二种方法是“KeyValuePair[](键值对数组)。。。这比两者都清楚,而且可能是最容易正确编码的。但是为什么不首先使用映射呢?我希望在JavaScript中这样做,因为Map和KeyValuePairs不存在JavaScript对象是一个映射:
var-Map={'key1':'value1','key2':'value2}Java是您将要使用的语言吗?您是在创建自己的映射类,还是允许使用预构建的映射类?在这两种语言中,第一种对我来说更清楚,而且更容易正确!但第二种方法是“KeyValuePair[](键值对数组)。。。这比两者都清楚,而且可能是最容易正确编码的。但是为什么不首先使用映射呢?我希望在JavaScript中这样做,因为Map和KeyValuePairs不存在JavaScript对象是一个映射:
var-Map={'key1':'value1','key2':'value2}