为了简化问题,让我们想象一下我们存储了一个:
int[][][][] values = new int[10][10][10][10];
我目前正在寻找生成值的表格,以后可供计算机(而不是某个人)查找。这些值基本上是情况的分数。因此,例如,如果我们想要看到第一个分量为2的分数,则第二个为3,第三个分数为7,第四个分数为9,那么我们可以在文件中转到[2] [3] [7] [9]必须在运行中计算价值。
我理解写入和阅读文件的技术细节,但我很难理解如何做到这一点。
让我们说一个2D数组,我想找到[X] [Y]的值,然后我就可以读取和写入值为X的行和值为Y的列。
然而,对于3或甚至4 D阵列,我们如何将这些值存储在文本文件中,这样我们就不必每次运行程序时都生成数组?
答案 0 :(得分:1)
将此文件保存到文件的最简单方法是使用Serializable接口,该接口已经在原始类型中实现(根据this post)
示例:
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;
答案 1 :(得分:0)
Java是一种基于类的面向对象语言。恕我直言,你应该按照它的方式使用它。 制作一个包含4个字段的对象或二次菱形类:
class Quad<A, B, C, D>
我再说一遍,这是我的诚实意见,群众反对INC。