首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >为唯一的整数集合推荐的.NET类?

为唯一的整数集合推荐的.NET类?
EN

Stack Overflow用户
提问于 2008-10-02 18:04:53
回答 4查看 3.8K关注 0票数 9

对于需要保存唯一整数列表的类,您有什么建议?

我想要将()整数添加到集合中,并检查是否存在,例如Contains()。

也会很好地让他们在一个列表中作为一个字符串显示,即。1、5、10、21。

EN

回答 4

Stack Overflow用户

回答已采纳

发布于 2008-10-02 18:06:28

HashSet

HashSet<T>类提供高性能的集合操作。集合是不包含重复元素的集合,并且其元素没有特定的顺序...

HashSet<T>对象的容量是该对象可以容纳的元素的数量。当向对象添加元素时,HashSet<T>对象的容量会自动增加。

HashSet<T>类基于数学集合模型,并提供类似于访问DictionaryHashtable集合的键的高性能集合操作。简单地说,HashSet<T>类可以看作是一个没有值的Dictionary集合。

HashSet<T>集合未排序且不能包含重复元素...

票数 24
EN

Stack Overflow用户

发布于 2008-10-02 18:46:47

在我的测试中,我发现在处理非常大的数据集(在我的例子中是100,000+)时,带有虚拟值的Dictionary比HashSet更快。我想这是因为字典允许你设置一个初始容量,但我真的不知道。在您描述的这种情况下,如果我期望一个非常大的数字集,然后(或者当我添加到Dictionary中,取决于意图)使用字符串构建器迭代它,以创建输出字符串时,我可能会使用Dictionary。

票数 3
EN

Stack Overflow用户

发布于 2008-10-02 18:17:03

如果你不能使用.NET 3.5,那么你就不能使用HashSet。如果是这样的话,可以很容易地根据Dictionary结构滚动自己的内容。

代码语言:javascript
复制
public class Set<T> {
    private class Unit { ... no behavior }
    private Dictionary<T, Unit> d;

....
}

Unit应该是只有一个值的类型。将元素映射到什么并不重要,只需使用键来了解集合中的内容即可。您在问题中要求的操作很容易实现。

票数 2
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/163732

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档