sortedlist 性能如何?

qingtianzhuren 2010-09-03 04:09:17
存储一个差不多30-80组据,KEY是字符串,VALUE是一个类。查询和修改是最多的,删除和添加是其几十分之一吧
for (int i = num; i >= 0; i--)
{
string key = (string)this.list.GetKey(i);
Data info = this.list[key] as Data ;
if (info != null)
{

if (!info.Updated)
{
this.list.RemoveAt(i);
}
}
}

有两个问题:
1,像代码中这种通过索引找到KEY,再通过KEY,找到VALUE这样的效率高吗?直接遍历VALUE可以不?直接遍历VALUE是不是无法删除?
2,有没有与之相比性能更快的容器,欢迎上测试数据。
...全文
358 5 打赏 收藏 转发到动态 举报
写回复
用AI写文章
5 条回复
切换为时间正序
请发表友善的回复…
发表回复
wuyq11 2010-09-03
  • 打赏
  • 举报
回复
数据量不大Dictionary、SortedDictionary、SortedList在搜索上都差不多
如果数据量非常大,应该使用SortedDictionary
让爱延续 2010-09-03
  • 打赏
  • 举报
回复
sortedlist 应该是实现了ICompare【应该是这么些吧】的这么个接口,在查询方面,应该说在System.Collections命名空间里算是最快的吧。

不太懂,见笑。。。呵呵。。。
glest 2010-09-03
  • 打赏
  • 举报
回复
sortedlist在插入时执行排序,其性能损失主要在插入。其后的查找,由于已经排序了,速度应当很快。
gomoku 2010-09-03
  • 打赏
  • 举报
回复
如果是删除和插入多,则可能不是很好的选择。
SortedList的内部实现是用数组做的,数组删除和插入的效率很差。
兔子-顾问 2010-09-03
  • 打赏
  • 举报
回复
多几种对比,量化执行时间对比。

111,120

社区成员

发帖
与我相关
我的任务
社区描述
.NET技术 C#
社区管理员
  • C#
  • AIGC Browser
  • by_封爱
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告

让您成为最强悍的C#开发者

试试用AI创作助手写篇文章吧