【发布时间】:2014-01-02 17:45:09
【问题描述】:
我编写了一个代码,但我需要它更快地工作,而不是 O(n)。
public T GetElementAt(int index)
{
return hashSet.ElementAt(index);
}
还有一个
public T GetElementAt(int index)
{
var enumerator = hashset.GetEnumerator();
for (int i = 0; i < index; i++)
{
enumerator.MoveNext();
}
return enumerator.Current;
}
请帮帮我,我不知道该怎么做。
附:对不起我的英语不好。
【问题讨论】:
-
旁注:HashSet 在任何意义上都没有排序,所以选择第 n 个元素和第一个元素一样好......你真的需要对 HashSet 进行索引访问吗?
-
如果你想 O(1) 通过索引访问有序集合中的元素,有什么理由不使用
List<T>?