我在这里阅读了一个相关的问题link text
有人建议使用巨型文件,然后使用RandomAccessFile。
我的问题是矩阵(由“0”和“1”组成,非稀疏)可能真的很大。例如,行大小可以是10 ^ 10000。我需要一种有效的方法来存储这样的矩阵。另外,我需要以这种方式使用这样的文件(如果我将矩阵存储在其中):
说,我有一个包含数字序列的巨型文件。序列中的数字除以“,”(第一个数字表示原始数字,剩余数字表示矩阵中“1”停留的位置)。序列除以符号“|”。另外,还有一个符号“||”它将所有序列分成两组。 (这是两个矩阵的视图。可能它效率不高,但我不知道如何让它变得更好。你有任何想法吗?=))我必须阅读,例如,100个数字来自来自第一组的每一行(提取子矩阵)并由它们确定我需要从第二组读取哪些行。 所以我需要函数seek()。它能用这么大的文件吗?
我是新手。可能有一些有效的方法来存储和读取这样的数据吗?
答案 0 :(得分:5)
可观测宇宙中有大约10 ^ 80个原子。所以说你可以在每个原子中存储一个位,你需要大约10 ^ 9920个与我们大小相同的宇宙。这只是为了存储一行。
你有多少行?每行需要10 ^ 9920个Universe。
答案 1 :(得分:0)
希望你的意思是10 000个条目,而不是10 ^ 10000然后你可以使用BitSet类将所有内容存储在RAM中(或者你可以使用像hadoop那样的东西)