可能是一个显而易见的问题,但我已经看到为什么在列表/数组上使用HashSet的原因很多。 我听说它有O(1)用于删除和搜索数据。
我从来没有听说过为什么要在HashSet上使用列表。
为什么反之亦然?
答案 0 :(得分:9)
HashSet
不HashSet
没有隐式订单答案 1 :(得分:3)
他们有不同的语义。列表按顺序排序(按插入顺序),允许重复,并按索引提供随机访问;哈希集是无序的,不允许重复(按设计删除它们),并且不提供随机访问。两者都完全有效,简单地说:针对不同的场景。
答案 2 :(得分:1)
好的,你可以将重复项插入List / Array。
返回值类型:
System.Boolean
如果元素被添加到HashSet对象,则为true;
如果元素已经存在,则为false。
答案 3 :(得分:0)
我参加聚会很晚,但是我想通过将问题转过头来为所选答案添加一些内容:
何时在列表上使用HashSet?
请记住,您也可以通过HashSet进行“ foreach”。
Rango是正确的,因为有时性能会被高估;但是如果性能至关重要(并且顺序不重要),则HashSet可以比List更快。