是否有可以迭代的 Java(和 C#,如果你知道)的集合数据结构,具有以下属性:
可以删除当前元素而不影响当前迭代器(已经启动的迭代器的其余迭代)。
可以添加新元素,但也不会影响当前迭代器——当当前迭代器的迭代仍在进行时,不会作为迭代值包含在内。在我的情况下,每次迭代只会添加一个新元素,但在从可迭代对象中获取新迭代器之前,不会看到任何元素。
元素的顺序无关紧要。
实际上,有一个传入列表和一个传出项目列表。传入列表被迭代,一些被复制到一个新列表。一些新元素可以在迭代过程中添加到新列表中。迭代结束后,旧的传入列表被新的传出列表替换。整个过程本身就在一个循环中。
因此,与具有这些添加/删除属性的元素相比,每次将元素复制到新构造的集合对象似乎效率低下。
我正在考虑某种队列,让我可以预览当前项目,然后将其出列或不出列,然后移至下一个项目。我可以将更多项目添加到队列的头部,但不会看到它们,因为我正在接近尾端。双向链表可以具有这些属性,对吗?
如果您真的想知道它的用途,那就是在我的回答中补充第二个大代码块。
SMILET
宝慕林4294392
慕容708150
相关分类