【发布时间】:2011-03-17 08:53:10
【问题描述】:
谁能帮我解决以下问题? 我需要将我今天拥有的数据永久保存在数组中,以便以后使用这些数据进行计算。我在下面解释一个例子。
1,我生成了一个 long[][],这对于我的计算机 RAM 来说太大了。它是一个接一个地生成的。
2,我从我的 long[][] 计算一些东西并将结果保存在一个 double[][] 中 - 对于我的 RAM 来说也太大了。我不需要同时使用整个 long[][],因为在计算中同时使用了一小批行,并且每批都填充了 double[][] 中的一行。
3,我需要对double[][]进行排序,在这里做很多其他不重要的事情。
4,我在多次迭代中重复第 2 步和第 3 步(较大,>10000),这意味着我关心访问和排序的速度。
我知道数组的大小,但显然我无法初始化它们,因为它们太大了,也因为它必须由 int 初始化(到目前为止,我只能运行“小”计算)。当然,我可以使用 Maps 等,但我无法让它工作,我不明白我应该使用哪种类型。我以前从未使用过地图/收藏等。在后一种情况下,我可以使用数组中的一列作为键,因为它们是相同的(类型除外)。键可能只是行号(表示为 long)。
最好不要使用需要安装服务器的数据库来解决这个问题,因为我的程序将被我以外的其他人使用。
我非常感谢任何帮助和建议!
【问题讨论】:
标签: java arrays serialization map persistence