我认为这是一个标准问题。我需要一个可以迭代和后退的列表。如果向前迭代并且迭代器丰富,例如列表长度的80%,必须将新元素添加到列表的末尾,并且必须从列表的开头删除相同数量的元素。这应该在迭代期间发生,而不会影响迭代器。当前迭代器应该仍然有效。如果迭代器向后移动,则相同的过程应该有效。 在满足这些要求的任何集合中是否有任何类型的列表,队列或堆栈?有人知道吗?
THX
答案 0 :(得分:0)
这可以使用数组轻松实现。
设置数组的初始大小。
创建该大小的数组,您需要输入
创建索引(例如int),在迭代数组时递增/递减。
添加逻辑以跟踪索引(例如,如果索引> 0.8 *大小 - >向阵列添加更多元素)
我会使用java ArrayList对象来完成这项工作。
答案 1 :(得分:0)
你所说的不是一个无穷无尽的清单,而是一个循环清单(无穷无尽的清单不会从头开始删除)。
你想要的是一个内部有普通列表的函数,它将迭代器作为参数,并在到达结尾时翻转。所以100个元素列表的元素101是元素1被覆盖。