2012-11-30 13 views
2

我一直在尋找一段時間來回答我的問題,但是我還沒有找到解決我的問題的好方法。 我想要做的事情基本上有一個併發集合,有點像一個ConcurrentStack,但我需要能夠從堆棧的底部刪除項目。這是因爲我希望堆棧只有一定的長度,因此當集合變得太大時,任何舊物品都會從底部移除。ConcurrentStack - 從底部或同等功能中刪除

併發堆棧很適合添加對象,但從底部刪除它們是我無法弄清楚的。

我也有一個想法,有一個ConcurrentDictionary,我跟蹤添加的日期和對象存儲,然後刪除基於最後日期的項目?

任何幫助/想法,將不勝感激。

回答

1

我想你需要ConcurrentQueue Class

+0

如果他想*僅*從「底部」,在這種情況下,這恰恰是他應該做的,或者如果他真的需要從兩端刪除刪除目前還不清楚,在這種情況下,他真正需要的是'ConcurrentDeque'(不存在)。 – Servy

+0

已經看過。不是我想要的功能,因爲我希望我添加的最新項目像堆棧一樣位於頂部,然後被更新的添加物推下,直到它結束,並在前面有X個物品時被移除。想想我想要隨時訪問頭部和尾部的鏈表。不要在乎它們之間的內容,只要它們按照它們的順序添加即可。 – Michaela

+0

@Michaela如果你總是刪除「最古老」的項目,那麼你確實需要一個'ConcurrentQueue'。 – Servy