2016-08-13 11 views
2

「最近使用した」コレクションに最適なソリューションは何か決定しようとしています。直観的には、LIFOでもFIFOでもありません。アイテムを "削除"するまではFIFOです。しかし、それはLIFOである "検索"まで。したがって、キューとスタックの両方にはいくつかの制限があります。"最近使用した"コレクションのコレクション

または、私はこのすべてを徹底的に考えており、配列やリストに固執する必要がありますか?

+0

'Stack 'は長さが長すぎないので、UIにとっては非常に便利です。常に 'stack = new Stack (stack.Skip(1));'を前面からポップすることができます。 – Enigmativity

答えて

4

私はLinkedListコレクションを提案します。 LinkedListは、リスト内の最初と最後のノードへの参照を保持します(LRU/MRU順に移動することができます)。 AddFirstRemoveメソッドもありますので、値を削除して、リストから値を使用すると値を移動できます。 MSDN

+0

ありがとう!それについて考えていない:) – Felix

+1

[Here](https://www.informit.com/guides/content.aspx?g=dotnet&seqNum=625)実装 – thepirat000

関連する問題