2013-02-08 86 views
-1

那么如何修改队列中的第一个元素?修改队列中的顶层元素

我正在处理一个任务,我可能会或可能不会将每次循环运行时添加到队列中。如果添加了某些内容,则会随机分配一个介于1和5之间的数字。

一旦添加了一些东西,我需要在每次循环运行时通过递减1来更新顶层对象。一旦对象变为零,我将删除该对象。

我几乎都已经想通了,除了如何修改/更新顶级对象。

任何意见表示赞赏。

+6

发布您的代码。 – javi 2013-02-08 15:37:27

+0

我没有任何关于我所问的内容的代码,因为我根本不知道该怎么做。我提到的所有其他东西,我知道该怎么做。我不知道如何做的唯一的事情是将队列中顶层元素的值减1。有没有办法做到这一点? – 2013-02-08 15:55:03

+0

任何想法你将使用哪种类型的对象队列?如果你打算使用LinkedList,那么“getFirst()”方法应该给你第一个元素。我有点困惑,因为你说你想要队列中的顶级元素。你想要实现堆栈或队列吗? – Slowcoder 2013-02-08 16:17:54

回答

0

如果您使用Queue<T>interface,这是不可能的。它提供了一种将元素放入队列中的方法,以及一种将队列从队列中取出的方法,但对放入或取出的位置没有限制。这留给具体的实现。对于一个线性排序的队列,就像你正在谈论的那样,你应该看看Deque<T>interface,它可以让你在队列的任何一端添加和删除。或者,您可以使用特定的队列实现,如LinkedList<T>,这也恰恰是List<T>,并允许您在特定偏移量处对该元素执行set