【发布时间】:2012-03-09 16:34:05
【问题描述】:
我的应用程序中有许多队列和优先级队列。我想轻松访问这些队列中的第 n 个项目,但没有看到使用 API 的简单方法。
我想我可以创建一个 Iterator 并迭代到第 n 个元素或使用 toArray()[index],但似乎应该有更简单的方法。
我错过了什么吗?
【问题讨论】:
-
使用 ArrayList 作为堆栈。当您需要特定项目时,您可以使用 get(x)。
-
这不违背队列的想法吗?队列应该是 FIFO 结构,而不是像地图或数组那样的按需访问。您是否有理由使用队列而不是列表之类的东西?
-
Queue接口不公开对其元素的直接元素访问,仅对前面公开,并通过迭代器访问。为了您的使用,您可能需要一个基于List的集合。