Java 有循环数据结构吗?即CircularLinkedList

Mar*_*ark 2 java

我正在寻找在 Java 中使用的循环数据结构。我记得在我的数据结构类中有一个叫做 CircularLinkedList 的数据结构。

高水平:

我的用例是我需要遍历列表直到它为空。例如,考虑一副纸牌。我想按照我选择的任何顺序删除所有 10 个,然后删除所有 5 个,然后删除所有的插孔。这只是一个高级别的例子。

详细的:

我需要处理具有依赖关系的对象。我无法在字段 'A' 之前处理字段为 'B' 的对象。没有固有的排序,我想让它起作用,然后在需要时进行改进。我想乱序处理这些对象。如果对象具有尚未处理的依赖项,我想跳过它并循环列表直到它为空。

但是,我在java中找不到数据结构。谷歌搜索结果是其他人的实现,同样是编程课程。在我接受 Java 集合中没有对此的实现之前,我想在这里发布一个问题来确定。毕竟,它可能只是一个我不记得的名字。

And*_*eas 5

你的要求好像是这句话:

如果对象具有尚未处理的依赖项,我想跳过它并循环列表直到它为空。

这很容易。您使用 a Queue,您可以使用poll().从队列中获取第一个值。如果您还不能使用该值,则使用 将其添加回队列的末尾add()。您一直采用 head 值,直到Queue为空,例如,当poll()return 时null

就您的目的而言, anArrayDeque可能是您Queue实现的最佳选择,或者LinkedList如果您愿意,则为