2015-12-30 2 views
1

Я пытаюсь реализовать CircularFifoQueue в java.CircularFIFOQueue: Использование метода get

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

Я получаю consfused о том, как использовать метод GET в API CircularFifoQueue. 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). Единственный способ получить метод всплывает в моем редакторе (андроид-студия), если я использую rssiinfo.element().get(0).

Однако метод element() возвращает только первый элемент очереди. Как я могу получить доступ к элементу в произвольном месте в очереди?

ответ

1

Ваша переменная rssififo имеет тип Queue тип, а не тип бетона CircularFifoQueue.
Интерфейс Queue не имеет метода get, только методы поиска, опроса и удаления. Если вы измените объявление на CircularFifoQueue, вы можете получить доступ к методу get.

+0

Спасибо. Изменена декларация в CircularFifoQueue. – srai

0

Вы должны изменить свой код

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

CircularFifoQueue есть метод GET (INT индекс). Но CircularFifoQueue реализует интерфейс Queue. Интерфейс не получил метод get (int index). По этой причине вы не можете использовать это.

Смежные вопросы