Java(如果你知道的话,还有 C#)中是否有一个可以迭代的集合数据结构,具有以下属性:
可以删除当前元素而不影响当前迭代器(已启动的迭代器的其余迭代)。
可以添加新元素,但也不会影响当前迭代器——在当前迭代器的迭代仍在进行时,不会将其作为迭代值包含在内。在我的例子中,每次迭代只会添加一个新元素,但在从可迭代对象中获取新迭代器之前,不会看到任何新元素。
元素的顺序无关紧要。
实际上,有一个传入列表和一个传出项目列表。传入的列表被迭代,一些被复制到一个新的列表中。一些新元素可以在迭代期间添加到新列表中。迭代结束后,旧的传入列表被新的传出列表替换。这整个过程本身就是一个循环。
因此,与具有这些添加/删除属性的集合对象相比,每次将元素复制到新构建的集合对象似乎效率低下。
我在想某种队列,它可以让我预览当前项目,然后要么出队,要么不退出,然后移动到下一个项目。而且我可以将更多项目添加到队列的头部,但不会看到它们,因为我正在向最后移动。双向链表可以具有这些属性,对吗?
如果您真的想知道它的用途,那就是在我的答案中增加第二个大代码块。
波斯汪
ibeautiful
牧羊人nacy
相关分类