我正在尝试在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()方法只返回队列的第一个元素。如何访问队列中任意位置的元素?
答案 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)方法。这就是你无法使用它的原因。