使用 C# 好多年了,一直疏于深究,写了许多不好的逻辑而不自知,特开此文以做记录

字典

字典采用了哈希桶和链表来实现存储逻辑,存在哈希冲突时,链表查找的时间复杂度仍是 O(n)

好文推荐:InCerry-浅析C# Dictionary实现原理

初始化

  • 误:不指定 capacity,实例化后装填字典
  • 正:指定 capacity,避免 Resize 操作
  • 警:Resize 对空间和时间的消耗巨大

遍历键值

  • 误:遍历 Keys 属性,再使用索引查找值
  • 正:直接遍历字典,获取 KeyValuePair<,>
  • 警:字典查找存在明显的性能损失

相关文章:

  • 2021-10-08
  • 2021-09-24
  • 2021-07-15
  • 2022-12-23
  • 2022-12-23
  • 2021-09-07
  • 2021-12-17
猜你喜欢
  • 2022-12-23
  • 2022-12-23
  • 2021-05-20
  • 2022-12-23
  • 2022-12-23
  • 2021-09-09
  • 2021-12-04
相关资源
相似解决方案