2014-09-10 2 views
-1

Почему у Queue есть два разных метода для извлечения элемента и для удаления элемента?Различия в методах очередности

методы Получение: element() и Element peak() методы Удаление: Element poll() и Element remove()

В чем разница между ними (за исключением различий возвратного типа в первом случае)?

+5

RTFM: http://docs.oracle.com/javase/7/docs/api/java/util/Queue.html – isnot2bad

ответ

2

Вы должны действительно прочитать JavaDoc для Queue:

remove():

Извлекает и удаляет главу этой очереди. Этот метод отличается от опросом только тем, что он генерирует исключение, если эта очередь пуста.

element():

Извлекает, но не удаляет, глава этой очереди. Этот метод отличается от peek тем, что он генерирует исключение, если эта очередь пуста.

(выделено мной.)

0

согласно Javadoc:

   Throws exception  Returns special value 
Insert   add(e)    offer(e) 
Remove   remove()    poll() 

и особое значение здесь означает:

Возвращает: истинный, если элемент был добавлен в этой очереди, иначе ложной

Точка что очередь может иметь предопределенную максимальную длину, и если вы попытаетесь вставить в нее, когда она пуста, вы можете использовать add и get Exception или offer и ge т ложно вернулся (или может быть пустым, и вы хотите, чтобы удалить элемент)

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

  • Нет связанных вопросов^_^