可以提供一下吗。 NET Collection 根据查找时间排序的顺序列表?
我只是在互联网上搜索.NET 的各种集合的优点和缺点。我发现以下几点
- 在查找值的上下文中,Dictionary 比 List 更快。
- 在查找值的上下文中,HashSet 比 List 更快。
- 在查找值的上下文中,字典比哈希表更快。它们都不能保证保持项目的顺序。
- 我读到 Hashset 是 .NET 中的快速集合,
因此我对 .NET 集合
- Hashset
- Dictionary
- Hashtable
- List
- ArrayList
采用以下排序顺序对于上述排序顺序,我使用了以下链接
- 什么 .NET 集合提供最快的搜索
- http://cidamon.com/blog/solution/27/dictionary-hashtable- and-hashset
- http://www.dotnetperls.com/dictionary-time
- c# 什么时候应该使用 List,什么时候应该使用 arraylist?
- http://www.dotnetperls.com/hashtable
- .NET 哈希表与字典 - 字典能一样快吗?
- http://www.codeproject.com/Answers/ 197792/Hashtable-and-List-in-Csharp.aspx#answer1
除了上述问题之外,我还发现了一些有用的链接,我想分享
上面的排序顺序是否正确?如果没有,您可以重新安排一下吗?如果有人可以在上面列表的排序顺序中添加更多集合,那么我们将不胜感激。
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(3)
我认为这篇文章可能有用 C#/.NET 基础知识:选择正确的集合类
I think this article can be useful C#/.NET Fundamentals: Choosing the Right Collection Class
这取决于您执行查找的方式。
这就是为什么有如此多不同的收藏的原因之一。另一个是插入操作的特征。
所有藏品都有特定的用途。如果您有查找键,则
Dictionaray
比搜索List
或Hashset
更快(除非该对象是关键)。如果您有索引,
List
比 Dictionary 更快,而数组甚至更快。如果查找需要查找完全满足给定要求的所有对象。例如,整数集合中的所有整数,其中 10
因此,在查找性能方面没有固定的顺序。这取决于查找的特征。
查找性能仅说明了故事的一部分。必须将特征集作为漏洞进行分析,以找到给定任务的集合。
?
It depends on how you perform the lookup.
That's one of the reasons why there's so many different collections. Another would be the characteristics of insert operations.
all collections serve a specific purpose. If you have a lookup key then
Dictionaray<Tkey,Telement>
is faster than searching aList<T>
or aHashset<T>
(unless the object is the key).If you have an index
List<T>
is faster than Dictionary and array is even faster.If the lookup needs to find all objects that full fill a given requirement. E.g all ints in a collection of ints where 10
So there's no set order when it comes to lookup performance. It depends on the characteristics of the lookup.
And the lookup performance only tells part of the story. The set of characteristics must be analysed as a hole to find the collection for a given task.
are some that spring to mind
SortedDictionary 也可以添加到列表中,因为它按顺序保留元素。
谢谢
SortedDictionary can be added as well in the list as it preserves elements in the order .
Thanks