2

我目前有一个 SparseStore 矩阵,我在其上执行大量计数和计算。我想将它存储到文件中,以便以后可以重复使用它而无需重新进行所有先前的计算。

我尝试了 Java 中的基本序列化:

ObjectOutputStream outputStream = new ObjectOutputStream(new FileOutputStream(exportFileName));
outputStream.writeObject(mySparseStoreInstance);

但似乎该类没有实现 java.io.Serializable:

java.io.NotSerializableException: org.ojalgo.matrix.store.SparseStore

我不介意更改为 Array2D 或其他一些 ojalgo 稀疏结构,但也找不到其中任何一个可以序列化。

建议将稀疏数组存储到文件中吗?

4

1 回答 1

1

没有内置功能。在这一点上,你必须自己实现一些东西。使用提取索引值对nonzeros()并写入文件,然后使用set(index, value)一一重新创建。以严格递增的索引顺序添加新元素并不是非常低效。

于 2019-09-18T13:50:08.303 回答