标签: java queue
那么如何修改队列中的第一个元素呢?
我正在进行一项任务,每次循环运行时,我可能会或可能不会添加到队列中。如果添加了某些内容,则会随机分配一个介于1到5之间的数字。
一旦添加了某些内容,我需要在每次循环运行时通过递减1更新顶部对象。一旦对象变为零,我将删除该对象。
除了如何修改/更新顶级对象外,我几乎已经弄明白了。
任何建议表示赞赏。
答案 0 :(得分:0)
如果您使用Queue<T> interface,则无法做到这一点。它提供了一种将元素放入队列的方法以及从队列中获取元素的方法,但不对它们放入或取出的位置施加任何限制。这留给具体实现。对于线性排序的队列,就像您所说的那样,您应该查看Deque<T> interface,它允许您在队列的任何一端添加和删除。或者,您可以使用特定的队列实现,例如LinkedList<T>,它恰好也是List<T>,并允许您set特定偏移处的元素。
Queue<T>
Deque<T>
LinkedList<T>
List<T>
set