为了这些问题的简单性,让我们想象一下我们正在存储一个:
int[][][][] values = new int[10][10][10][10];目前,我希望生成值表,这些表可供计算机(而不是个人)稍后查找。这些数值基本上是情况的分数。因此,例如,如果我们想看到第一个分量是2,第二个分量是3,第三个分量是7,第四个分量是9,那么我们可以在文件中看到27,而不必实时计算值。
我理解编写和阅读文件的技术细节,但我很难理解如何做到这一点。
假设有一个2D数组,我想要找到X的值,然后我就可以读取和写入值为X的行和值为Y的列。
然而,对于三维甚至四维数组,我们如何将这些值存储在文本文件中,这样我们就不必每次运行程序时都生成数组了?
发布于 2014-12-21 01:42:55
将其保存到文件中的最简单方法是使用可序列化接口,该接口已经在原语类型中实现(根据这个职位)。
示例:
int[][][][] data = new int[10][10][10][10];
// Write object to a file
ObjectOutputStream oos = new ObjectOutputStream(new FileOutputStream(new File("serializedArray.data")));
oos.writeObject(data);
oos.flush();
oos.close();
// Read an object from a file
ObjectInputStream ois = new ObjectInputStream(new FileInputStream(new File("serializedArray.data")));
Object obj = ois.readObject();
ois.close();
// Cast it back to an int array
data = (int[][][][])obj;发布于 2014-12-21 01:47:51
Java是一种基于类的面向对象语言。IMHO,你应该用它的方式来工作。要么使用4个字段创建对象,要么创建一个二次菱形类:
class Quad<A, B, C, D>我再说一遍,这是我的诚实意见,大众投票公司。
https://stackoverflow.com/questions/27585971
复制相似问题