Java Collection在满磁盘时写入磁盘?

Rob*_*son 9 java collections

一位同事提到他听说过一个轻量级的集合,当它的内容太满时会自动翻页到磁盘 - 但是他记不住这个名字.我想它看起来像这样:

PagingCollection<Serializable> pagingCollection = new PagingArrayList<>();
pagingCollection.setMaxSizeInMemory(500);
for (int x = 0; x < 1000; x++) { pagingcollection.add("x="+x); }
Run Code Online (Sandbox Code Playgroud)

然后将x = 0推到x = 500到磁盘.关键是能够迭代它而不将整个内容加载到内存中.

这适用于内存容量较小的胖客户端.

有谁知道它(或类似的东西)?

Rid*_*del 7

嗯,我所知道的唯一具有这种功能的工具是流行系统:prevaylerspace4j.虽然它们的界面起初看起来很奇怪,但它们使用起来非常简单并且提供了方便的功能集.

  • space4j还提供透明的集群和索引. (2认同)

And*_*ejs 6

MapDB(mapdb.org)是一个支持基于磁盘的集合的库:集合,队列和映射.

您可以选择自己何时将其保留为磁盘或仅保留每次更新.

它还支持缓存,因此所有项目都将在磁盘上,但有些项目将缓存在内存中.