Tekkaman

导航

 

何时使用泛型集合

1、List<T> 是C++中的Vector<T>(特性一模一样),C#中的非泛型版本是 ArrayList。在泛型下,非泛型版本实际上已经没有存在的意义了。

   当List<T>内存不足时,List<T>会申请一块2倍于现有内存的空间,然后将原有内存拷贝到新空间下。所以,避免性能问题的一个方法是直接预分配好足够的空间,以避免动态分配空间。

2、Dictionary<TKey, TValue>是字典。

3、Collection<T>是集合。

4、Queue<T>Stack<T>是队列、栈。

5、 SortedList<TKey, TValue>按照键值进行排序。

6、LinkedList<T> 是一个通用链接列表,它提供运算复杂度为 O(1) 的插入和移除操作。对应于C++中的List。

7、SortedDictionary<TKey, TValue> 是一个排序的字典,其插入和检索操作的运算复杂度为 O(log n),这使得它成为 SortedList<TKey, TValue> 的十分有用的替代类型。

8、KeyedCollection<TKey, TItem> 是介于列表和字典之间的混合类型,它提供了一种存储包含自己键的对象的方法。

SortedList对于SortedDictionary: http://msdn.microsoft.com/zh-cn/library/ms132319(v=vs.90).aspx

参考:http://msdn.microsoft.com/zh-cn/library/ms172181(v=vs.90).aspx

posted on 2014-10-20 12:33  Tekkaman  阅读(669)  评论(0编辑  收藏  举报