我想要一个由Scala中的无限流支持的无限队列。这感觉很简单,但我无法找到如何做到这一点。
即
Stream.from(0).toQueue // Except that there is no method "toQueue"
答案 0 :(得分:3)
队列不能无限,因为它需要从两端进行访问:dequeue
操作从队列的前面获取一个元素,但enqueue
将一个元素放入返回队列。对于无限序列,它没有意义。无限的堆栈是有意义的(事实上,这是单链接列表和流本质上是什么),但不推荐使用Stack
接口,而是直接使用实现。
你需要一个无限队列?如果您只想按顺序使用流,则可以使用本机流方法或解构,或仅使用foreach
等通用收集方法。