有没有像stream一样的数据结构,但是很弱?
弱如弱引用。基本上,我需要一系列数字,其中一些数字在不再需要时可以取消分配。
Weak as in weak references. Basically, I need a sequence of numbers where some of them can be unallocated when they aren't needed anymore.
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(3)
scalaz.EphemeralStream 就是你想要的。
scalaz.EphemeralStream is what you want.
视图为您提供了一个惰性集合,其中每个值都根据需要进行计算。
Views provide you with a lazy collection, where each value is computed as it is needed.
您可以做的一件事是创建一个
Iterable
而不是Stream
。您的Iterable
需要提供一个iterator
方法,该方法返回一个具有hasNext
和next
方法的迭代器。当您循环
Iterable
时,将调用hasNext
和next
来生成所需的元素,但它们不会存储在任何地方(就像Stream
一样)。简单的例子:
One thing you could do is create an
Iterable
instead of aStream
. YourIterable
needs to provide aniterator
method, which returns an iterator withhasNext
andnext
methods.When you loop over the
Iterable
,hasNext
andnext
will be called to generate the elements as they are needed, but they are not stored anywhere (like aStream
does).Simple example: