使用单个记录实现nxn矩阵

时间:2014-10-25 18:58:38

标签: java

首先,我想知道与数组相比,记录究竟是什么?从我试图从我的教科书中解读出来的," Gilles Dowek,编程语言原理",它几乎就像一个数组,但需要与这些标签相关的标签和值。给出的例子是:

标签:{纬度,经度,海拔高度}

记录:{纬度= 48.715,经度= 2.208,海拔= 156}

让我感到困惑的是如何使用单个记录实现这个二维矩阵(我假设它是一个单行向量,如上例所示)。

我只有一年的编程经验,所以任何形式的阅读或具有描述性答案的来源都将非常感激。

2 个答案:

答案 0 :(得分:0)

数组只能存储您可以通过索引访问的值,而记录会将一个标签分配给一个值(您可以使用键访问值)。

您可以使用Map来存储具有不同键的多个记录,例如:

HashMap<String, Double> map = new HashMap<>();
map.put("latitude", 48.715);
map.put("longitude", 2.208);
map.put("altitude", 156.0);

然后,当你想得到一个值时:

double latitude = map.get("latitude");

答案 1 :(得分:0)

要回答我自己的问题,(使用我的问题的评论中提供的资源)记录只是一个具有实例变量但没有实例方法的Java对象。使用这些知识,数组与记录非常不同。比较基本上是在对象类和数组之间。

实现二维矩阵,或者更具体地说,在视觉上实现矩阵,使其在打印时看起来像一个正方形不是记录的工作,因为这需要不是记录一部分的实例方法。

使用单个记录实现nxn矩阵的解决方案只是初始化类中的“n次n”实例变量。通常,制作任何记录的解决方案是初始化类中任何所需数量的实例变量。