Queue 是否应该实现 Iterable 接口?
Should a Queue implement an Iterable interface?
我最近在编写自己的 LinkedList 实现时了解了 Iterable 接口。然而,这让我质疑之前运行良好的 Queue 和 Stack 的实现是否也应该实现 Iterable,为什么?如果是,您能否举例说明您将如何使用迭代器?
当您想迭代某些内容时,迭代器很有用。 可能 是队列的情况。
如果您查看标准库,您会找到一个接口 java.util.Queue
。该接口由可迭代的java.util.AbstractQueue
实现。 Queue 也是由 java.util.ArrayDeque
实现的,它也是可迭代的。
有用信息:Deque代表双端队列。 ArrayDeque 可能是 Queue 的最佳实现,在性能方面也是如此。
我最近在编写自己的 LinkedList 实现时了解了 Iterable 接口。然而,这让我质疑之前运行良好的 Queue 和 Stack 的实现是否也应该实现 Iterable,为什么?如果是,您能否举例说明您将如何使用迭代器?
当您想迭代某些内容时,迭代器很有用。 可能 是队列的情况。
如果您查看标准库,您会找到一个接口 java.util.Queue
。该接口由可迭代的java.util.AbstractQueue
实现。 Queue 也是由 java.util.ArrayDeque
实现的,它也是可迭代的。
有用信息:Deque代表双端队列。 ArrayDeque 可能是 Queue 的最佳实现,在性能方面也是如此。