【问题标题】:Storing Scala data structures on disk在磁盘上存储 Scala 数据结构
【发布时间】:2017-03-30 12:56:46
【问题描述】:

我正在尝试将一些计算的结果存储在HashMapList 的内存中。有没有办法在磁盘上存储和加载这些数据结构,这样我就不必一遍又一遍地重复这个过程?

编辑

  1. 我在python 中寻找像pickle 这样的标准库,而不是外部依赖项。

【问题讨论】:

标签: scala pickle persistent


【解决方案1】:

ListHashMap(以及其他集合)在 Scala 中都是 Serializable,这意味着标准的 Java 序列化机制可以应用于它们。

您可以通过创建ObjectOutputStream 并调用其writeObject(obj) 方法来存储对象。

这同样适用于通过ObjectInputStream 及其readObject() 方法读取对象。

集合中要读/写的对象也应该是Serializable,所以如果还不是这样,你需要让它们实现接口。

【讨论】:

  • 那么其他数据结构是不可序列化的?
  • 如果其他数据结构实现了Serializable 接口/特征,它们就会变成可序列化的。确实,这是一个标记接口,没有什么可实现的,只需将其添加到类声明中即可。
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2011-01-13
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2012-03-26
  • 2013-12-03
相关资源
最近更新 更多