【发布时间】:2016-01-23 22:17:17
【问题描述】:
我在 C# 中有一个非常大的字符串 ArrayList,并且我会定期在这个 ArrayList 中搜索一个字符串。哪个更快,使用ArrayList.IndexOf() 或ArrayList.BinarySearch()?我可以对 ArrayList 进行排序。
【问题讨论】:
-
你有任何初步的性能测量吗?
-
阅读传说中的Which is faster?
-
你会在列表中搜索多少次?
-
使用其他数据结构如 HashSet 怎么样? ( O(1) )
-
感谢您的 cmets。 arraylist 充满了字符串,基本上是数百万。我已经使用哈希表对元素进行排序并使用键值对。但是每个键的值仍然是一个数组列表,我仍然必须在数组列表中搜索特定元素。我多次搜索元素,因为它就像一种检查元素是否在列表中可用的方法。
标签: c# performance arraylist binary-search indexof