如何将 ojalgo 稀疏数组存储到 java 中的文件?
How to store ojalgo sparse array to file in java?
我目前有一个 SparseStore 矩阵,我在上面执行大量计数和计算。我想将它存储到文件中,这样我以后就可以重用它而无需重新进行之前的所有计算。
我在 Java 中尝试了基本序列化:
ObjectOutputStream outputStream = new ObjectOutputStream(new FileOutputStream(exportFileName));
outputStream.writeObject(mySparseStoreInstance);
但 class 似乎没有实现 java.io.Serializable:
java.io.NotSerializableException: org.ojalgo.matrix.store.SparseStore
我不介意更改为 Array2D 或其他一些 ojalgo 稀疏结构,但也找不到是否可以序列化这些结构。
将稀疏数组存储到文件的建议是什么?
没有内置功能。此时你必须自己实现一些东西。使用 nonzeros()
提取索引值对并写入文件,然后使用 set(index, value)
一个一个地重新创建。以严格递增的索引顺序添加新元素并不是非常低效。
我目前有一个 SparseStore 矩阵,我在上面执行大量计数和计算。我想将它存储到文件中,这样我以后就可以重用它而无需重新进行之前的所有计算。
我在 Java 中尝试了基本序列化:
ObjectOutputStream outputStream = new ObjectOutputStream(new FileOutputStream(exportFileName));
outputStream.writeObject(mySparseStoreInstance);
但 class 似乎没有实现 java.io.Serializable:
java.io.NotSerializableException: org.ojalgo.matrix.store.SparseStore
我不介意更改为 Array2D 或其他一些 ojalgo 稀疏结构,但也找不到是否可以序列化这些结构。
将稀疏数组存储到文件的建议是什么?
没有内置功能。此时你必须自己实现一些东西。使用 nonzeros()
提取索引值对并写入文件,然后使用 set(index, value)
一个一个地重新创建。以严格递增的索引顺序添加新元素并不是非常低效。