我需要創建一個FIFO隊列。我想爲它創建一個LinkedList,因爲它是本地方法來刪除和添加。但是我的隊列應該有一個固定的大小,所以我怎麼能修復這個大小?Java - LinkedList疑問
在此先感謝!
我需要創建一個FIFO隊列。我想爲它創建一個LinkedList,因爲它是本地方法來刪除和添加。但是我的隊列應該有一個固定的大小,所以我怎麼能修復這個大小?Java - LinkedList疑問
在此先感謝!
最簡單的事情將被使用的java.util.Deque或java.util.Queue
的實現方式之一,您可以在自己的類包裝一個LinkedList
的實例,並控制規模(組成)。這種情況的缺點(或根據您的偏好而定)是,您可以控制要觸發哪些方法,在此情況下爲add
和remove
。另一種選擇是在控制尺寸的同時擴展LinkedList
並覆蓋add
/remove
。
感謝您的答案。你能更好地解釋我需要做什麼嗎?我必須控制LinkedList的限制,以便在添加我的東西時不會傳遞某個數字。 – Samth
如果你必須有一個固定的大小,那麼你應該使用一個ArrayList(或者只是一個數組)來支持FIFO ....只需保留一個表示頭部索引的變量,並且一個表示索引的變量的尾巴,並隨着你的推動和流行而移動它們。
但是,如果這不是家庭作業,則應該使用許多可用的集合類之一。他們做得很好。
固定大小或有界大小? – Atreys
覆蓋add方法以在添加之前執行列表大小檢查? –
這是HW嗎?如果是這樣,請標記爲這樣。但是如果有人加入到超過規模的隊列中,您希望發生什麼? –