.NET 4 中SortedSet类的新特性有哪些?
- 内容介绍
- 文章标签
- 相关推荐
本文共计3475个文字,预计阅读时间需要14分钟。
.NET 3.5 新增了 HashSet 类,而 .NET 4 则新增了 SortedSet 类。以下是对它们特性的简要介绍及比较:
HashSet:- 存储不重复的元素,元素可以是任何类型。- 元素没有顺序,查找和插入操作平均时间复杂度为 O(1)。- 不保证元素顺序。
SortedSet:- 存储不重复的元素,元素必须是可比较的。- 元素按照自然顺序排序,或通过 IComparer 接口自定义排序。- 查找、插入和删除操作平均时间复杂度为 O(log n)。
比较差异:- HashSet 不保证元素顺序,而 SortedSet 保证元素按照特定顺序排列。- HashSet 的操作时间复杂度比 SortedSet 更低,但 SortedSet 提供了排序功能。- HashSet 的元素类型没有限制,而 SortedSet 的元素类型必须是可比较的。
微软在 .NET 3.5 新增了一个 HashSet 类,在 .NET 4 新增了一个 SortedSet 类,本文介绍他们的特性,并比较他们的异同。
.NET Collection 函数库的 HashSet、SortedSet 这两个泛型的类,都实现了 System.Collections.Generic.ISet 接口;但 Java 早在 1.2 (或更早) 之前的版本,即已提供了实现这两种数据结构的同名类 [10],且还有更严谨的 TreeSet (里面存储的项,连类型都必须一致。当年还没有泛型)。
本文共计3475个文字,预计阅读时间需要14分钟。
.NET 3.5 新增了 HashSet 类,而 .NET 4 则新增了 SortedSet 类。以下是对它们特性的简要介绍及比较:
HashSet:- 存储不重复的元素,元素可以是任何类型。- 元素没有顺序,查找和插入操作平均时间复杂度为 O(1)。- 不保证元素顺序。
SortedSet:- 存储不重复的元素,元素必须是可比较的。- 元素按照自然顺序排序,或通过 IComparer 接口自定义排序。- 查找、插入和删除操作平均时间复杂度为 O(log n)。
比较差异:- HashSet 不保证元素顺序,而 SortedSet 保证元素按照特定顺序排列。- HashSet 的操作时间复杂度比 SortedSet 更低,但 SortedSet 提供了排序功能。- HashSet 的元素类型没有限制,而 SortedSet 的元素类型必须是可比较的。
微软在 .NET 3.5 新增了一个 HashSet 类,在 .NET 4 新增了一个 SortedSet 类,本文介绍他们的特性,并比较他们的异同。
.NET Collection 函数库的 HashSet、SortedSet 这两个泛型的类,都实现了 System.Collections.Generic.ISet 接口;但 Java 早在 1.2 (或更早) 之前的版本,即已提供了实现这两种数据结构的同名类 [10],且还有更严谨的 TreeSet (里面存储的项,连类型都必须一致。当年还没有泛型)。

