低效 LinkedList 遍历

本文介绍遍历 LinkedList<T> 集合时的性能见解。

原因

LinkedList<T> 历以查找元素会导致性能缓慢。

性能见解说明

LinkedList<T> 不按索引提供对元素的 O(1)访问。 每次遍历列表(特别是在循环或嵌套循环中)都会导致 O(n) 时间复杂性。 在频繁搜索项目或大型链接列表中时,这可能会导致性能显著下降。

如果可能,请考虑使用 List<T>Dictionary<TKey,TValue>. List<T> 按索引提供 O(1)访问,并 Dictionary<TKey, TValue> 按键提供 O(1) 查找。 与遍历链接列表相比,对于大多数访问模式而言,这些替代方法通常更有效。

如何调查警告

在 CPU 使用情况工具中,单击“ 查看源代码 ”以查找使用遍历的位置 LinkedList<T> 。 如果可能,请重构为使用其他集合类型,以便更快地访问方案。

另请参阅

集合和数据结构