gpt4 book ai didi

java - 将数组保存到硬盘

转载 作者:行者123 更新时间:2023-11-29 07:14:58 24 4
gpt4 key购买 nike

我编写了一个使用 200 万个整数值数组的程序。但是,它一次只使用 200 个数组。我有 200 辆智能汽车在 10 000 个街区的地形上行驶(根据 GPS 值划分)。每个 block 都有一个 129x28 的数组,其中包含整数值。当任何汽车进入一个新街区时,它必须检索与该街区相关的数组,然后使用该数组中的值。然后它根据该值做出决定,然后继续前进,依此类推。所以整个系统有 200 辆汽车和 10000 个街区,而每辆汽车都有自己的数组不同的值,数组的总数是 200 万。我需要在一个时间段简单地检索每辆车的 1 个数组 = 一次 200 个数组

应用程序将在开始时创建数组并用零填充,然后应用程序将开始填充这些数组,最后它只会使用它们。所以我写了一段代码来在程序中创建这些数组。

我不能将数组存储在高清文件中并在需要时检索它们吗?

更新

由于我有 200 万个数组,但我无法在 1-1.9 秒内存储和检索 200 个数组,因此我降低了研究等级以使用较少的环境特征,最终使用了 200 万个大小为 7 x 28 的数组。使用了 7 * 28 * 10 000 * 4(整数)* 200(汽车)字节如果使用 RAM,则仅消耗 1.6 GB。如果您遇到类似问题,祝您好运,如果您遇到类似情况,请PM,希望我能提供帮助。

最佳答案

一个相当简单的解决方案是使用 ObjectOutputStream 和 ObjectInputStream 类来写入和读取数组。

下面是一些将数组写入磁盘的示例代码:

    int [][] array = new int [129] [28];
// fill in your array here
ObjectOutputStream out = new ObjectOutputStream(new FileOutputStream(fileName));
out.writeObject(array);
out.close();

下面是一些示例代码,用于从磁盘读取以前保存的数组:

    ObjectInputStream in = new ObjectInputStream(new FileInputStream(fileName));
int [] [] inArray = (int [] []) in.readObject();
in.close();

关于java - 将数组保存到硬盘,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10404698/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com