【发布时间】:2017-03-30 12:56:46
【问题描述】:
我正在尝试将一些计算的结果存储在HashMap 和List 的内存中。有没有办法在磁盘上存储和加载这些数据结构,这样我就不必一遍又一遍地重复这个过程?
编辑
- 我在
python中寻找像pickle这样的标准库,而不是外部依赖项。
【问题讨论】:
标签: scala pickle persistent
我正在尝试将一些计算的结果存储在HashMap 和List 的内存中。有没有办法在磁盘上存储和加载这些数据结构,这样我就不必一遍又一遍地重复这个过程?
编辑
python 中寻找像pickle 这样的标准库,而不是外部依赖项。【问题讨论】:
标签: scala pickle persistent
List 和 HashMap(以及其他集合)在 Scala 中都是 Serializable,这意味着标准的 Java 序列化机制可以应用于它们。
您可以通过创建ObjectOutputStream 并调用其writeObject(obj) 方法来存储对象。
这同样适用于通过ObjectInputStream 及其readObject() 方法读取对象。
集合中要读/写的对象也应该是Serializable,所以如果还不是这样,你需要让它们实现接口。
【讨论】:
Serializable 接口/特征,它们就会变成可序列化的。确实,这是一个标记接口,没有什么可实现的,只需将其添加到类声明中即可。