2014-06-27 44 views
0

我在看代碼poll()unlinkFirst() in LinkedList,我似乎無法找到如何防止返回null是LinkedList中的null項目。nodeList中的null元素的LinkedList poll()與空列表中的LinkedList poll()

poll()在接口Queue中定義,僅當Queue爲空時返回空值。 LinkedList違反了隊列中不包含null元素的建議,因爲這會阻止poll()正常工作 - 但如果節點包含空元素,我看不到poll()的任何備用返回值。

我原以爲這樣一個廣泛使用的類會刪除poll()方法,或者以某種方式解決這個錯誤點。

我錯過了什麼嗎?

回答

1

poll()在接口Queue定義爲null只返回如果隊列爲空

不,它不是。 「檢索並刪除此隊列的頭部,或者如果此隊列爲空,則返回null。」那裏沒有「唯一」。

LinkedList違反了Queues不包含null元素

有沒有這樣的建議,並沒有違規的建議。有一種說法是「即使在允許它的實現中,null也不應該插入隊列中」,但這是給用戶程序員的,而不是實現的。