我的文本文件中有 7 行数据(如下所示)。
name: abcd
temp: 623.2
vel: 8
name: xyz
temp: 432
vel: 7.6
使用正则表达式,我能够读取这些数据,并且能够将其打印出来。现在我需要将这些数据存储在某个变量中。我倾向于将这些数据存储在数组/矩阵中。从物理上来说,它看起来像这样:
data = [abcd, 623.2, 8
xyz, 432, 7.6]
所以实际上,第一行包含前3行,第二行包含从5到7行。我选择这种类型的变量进行存储的原因是,从长远来看,调用数据会更简单 -如:
data[0][0] = abcd
data[1][1] = 432
我无法使用 math.nist.gov 中的 java 矩阵文件,因为我不是 root 用户,并且让 IT 部门在我的计算机上安装东西被证明是一种严重的时间浪费。所以我想使用我拥有的资源 - Eclipse 和 java 安装版本 1.6。
我想获取此数据并将其存储到 java 数组变量中。我想知道的是:选择数组变量是正确的处理方法吗?或者我应该使用 vector 变量(尽管在我看来,使用 vector 变量会使事情变得复杂)?或者是否有其他变量可以让我轻松存储数据并轻松调用它?
顺便说一句,关于我的 java 安装的更多详细信息 - 如果它以某种方式有所帮助:
OpenJDK 运行时环境(版本 1.6.0-b09) OpenJDK 64 位服务器虚拟机(版本 1.6.0-b09,混合模式)
感谢您的帮助
最佳答案
在我看来
name: abcd
temp: 623.2
vel: 8
是某种对象,你最好存储 list其中例如您将定义一个对象
public class MyObject {
private String name;
private double temp;
private double vel;
// etc...
}
(也许 - 可能有更合适的类型),并将它们存储在列表中:
List<MyObject>
如果您需要通过名称属性对它们进行索引,那么也许可以存储 map (例如 Map<String, MyObject>
)其中键是对象的名称。
我建议为这些创建一个对象,因为要求 obj.getName()
非常容易。等等,而不是记住或计算数组索引偏移量。展望 future ,您将能够向这些对象添加行为(例如,您有一个 temp
字段 - 您可以使用一个对象以摄氏度/开尔文/华氏度等检索该对象)。将原始数据存储在数组中并不能真正让您利用 OO 语言的功能。
(请注意您的安装问题 - 这些类是 Java JRE/JDK 原生的,不需要安装。它们是 Java 中许多程序的基础)
关于java - 使用java数组,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11230798/