对于不良措辞和复杂问题提前道歉,英语是我的第二语言。
我正在寻找一个数据结构来保存一个数组/列表/对象集合(在我的例子中 - 整数ID - 但这并不重要),将跟踪&# 34;使用频率"元素。所以我可以运行后台作业并删除较少使用的元素(以释放内存使用)。
当某个元素被访问或搜索时 - 元素被移动到表面",将较少使用的元素"推到底部" ;。同样,目标是确定"较少访问"价值并不时删除它们。
我正在考虑编写自己的类,继承/继承一些现有的 list 结构(可能是LinkedList<T,T>
或Queue<T>
),然后重载一些&#34; GetElement&# 34;方法,以便它返回元素并将其移动到列表的开头&#34;。所以稍后,在我的后台工作中,我可以从列表的末尾删除元素&#34; (b / c它们的访问频率较低)。
谢谢!
更新:感谢您的评论。原来&#34; LRU&#34;它是用简单的英语称呼的。我正在关闭这个问题,因为谷歌搜索&#34; LRU缓存c#&#34;提供了大量的答案。