CircularFIFOQueue:使用get方法

时间:2015-12-30 04:21:44

标签: java queue fifo

我正在尝试在java中实现CircularFifoQueue。

Queue<List<String>> rssififo = new CircularFifoQueue<List<String>>(2);

我正在考虑如何使用CircularFifoQueue API的get方法。 API声明

public E get(int index)
Returns the element at the specified position in this queue.
Parameters:
index - the position of the element in the queue
Returns:
the element at position index
Throws:
NoSuchElementException - if the requested position is outside the range [0, size)

但是我似乎无法使用rssiinfo.get(index)。在我的编辑器(android studio)中弹出get方法的唯一方法就是使用rssiinfo.element().get(0)

但是element()方法只返回队列的第一个元素。如何访问队列中任意位置的元素?

2 个答案:

答案 0 :(得分:1)

您的变量rssififo属于通用Queue类型,而不是具体类型CircularFifoQueue
Queue接口没有get方法,只有peek,poll和remove方法。 如果您将声明更改为CircularFifoQueue,则可以访问get方法。

答案 1 :(得分:0)

您必须将代码更改为

CircularFifoQueue<List<String>> rssififo = new CircularFifoQueue<List<String>>(2);

CircularFifoQueue的方法是get(int index)。但CircularFifoQueue实现了Queue接口。接口没有get(int index)方法。这就是你无法使用它的原因。