Java无尽的清单

时间:2016-01-22 14:09:58

标签: java list collections

我认为这是一个标准问题。我需要一个可以迭代和后退的列表。如果向前迭代并且迭代器丰富,例如列表长度的80%,必须将新元素添加到列表的末尾,并且必须从列表的开头删除相同数量的元素。这应该在迭代期间发生,而不会影响迭代器。当前迭代器应该仍然有效。如果迭代器向后移动,则相同的过程应该有效。 在满足这些要求的任何集合中是否有任何类型的列表,队列或堆栈?有人知道吗?

THX

2 个答案:

答案 0 :(得分:0)

这可以使用数组轻松实现。

  1. 设置数组的初始大小。

  2. 创建该大小的数组,您需要输入

  3. 创建索引(例如int),在迭代数组时递增/递减。

  4. 添加逻辑以跟踪索引(例如,如果索引> 0.8 *大小 - >向阵列添加更多元素)

  5. 我会使用java ArrayList对象来完成这项工作。

答案 1 :(得分:0)

你所说的不是一个无穷无尽的清单,而是一个循环清单(无穷无尽的清单不会从头开始删除)。

你想要的是一个内部有普通列表的函数,它将迭代器作为参数,并在到达结尾时翻转。所以100个元素列表的元素101是元素1被覆盖。