Hai*_*vgi 5 c# dictionary fifo
我想构建一个Dictionary(key,value),但是我希望这个Dictionary的大小有限,例如1000个条目,所以当我丰富这个限制大小时,我想删除第一个元素并添加一个新元素(FIFO) .
我想使用字典,因为我总是在字典中搜索键(我需要它会很快)
这该怎么做?
要获得字典和LIFO/FIFO行为(用于删除最新/最旧的条目),您可以使用OrderedDictionary.请参阅http://msdn.microsoft.com/en-us/library/system.collections.specialized.ordereddictionary.aspx.
为了方便使用,您可以OrderedDictionary按照@ArsenMkrt建议的方式派生自己的类.
但是请注意,OrderedDictionary不使用泛型,因此拳击将导致一些低效(字典中的项目将被插入object).解决此问题的唯一方法是创建一个双数据结构,其中字典中的所有项目都镜像在Queue(用于FIFO)或a Stack(用于LIFO)中.有关详细信息,请参阅以下SO问题的"Qua"答案,该问题正好处理您需要有效方式跟踪字典项插入顺序的情况.
| 归档时间: |
|
| 查看次数: |
3069 次 |
| 最近记录: |