首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >需要一种存储4D数组的方法

需要一种存储4D数组的方法
EN

Stack Overflow用户
提问于 2014-12-21 01:31:44
回答 2查看 663关注 0票数 2

为了这些问题的简单性,让我们想象一下我们正在存储一个:

代码语言:javascript
复制
int[][][][] values = new int[10][10][10][10];

目前,我希望生成值表,这些表可供计算机(而不是个人)稍后查找。这些数值基本上是情况的分数。因此,例如,如果我们想看到第一个分量是2,第二个分量是3,第三个分量是7,第四个分量是9,那么我们可以在文件中看到27,而不必实时计算值。

我理解编写和阅读文件的技术细节,但我很难理解如何做到这一点。

假设有一个2D数组,我想要找到X的值,然后我就可以读取和写入值为X的行和值为Y的列。

然而,对于三维甚至四维数组,我们如何将这些值存储在文本文件中,这样我们就不必每次运行程序时都生成数组了?

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2014-12-21 01:42:55

将其保存到文件中的最简单方法是使用可序列化接口,该接口已经在原语类型中实现(根据这个职位)。

示例:

代码语言:javascript
复制
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
EN

Stack Overflow用户

发布于 2014-12-21 01:47:51

Java是一种基于类的面向对象语言。IMHO,你应该用它的方式来工作。要么使用4个字段创建对象,要么创建一个二次菱形类:

代码语言:javascript
复制
class Quad<A, B, C, D>

我再说一遍,这是我的诚实意见,大众投票公司。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/27585971

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档