字典与ArrayList

时间:2010-04-22 05:09:49

标签: c#-3.0

在将数据添加到集合中时,这是更好的实践,以及什么是性能影响如果我们使用Dictionary vs ArrayList和为什么?

2 个答案:

答案 0 :(得分:3)

您实际上根本不应该使用ArrayList,因为您要使用强类型List<T>

您使用的方法取决于您访问数据的方式。 List存储项目的顺序列表,而Dictionary存储由键标识的项目。 (您仍然可以按顺序读取“词典”中的项目,但不会保留顺序。)

性能几乎相同,都在内部使用数组来存储实际数据。当它们达到其容量时,它们会分配一个新的更大的阵列并将数据复制到它。如果你知道集合会有多大,你应该在创建它时指定容量,这样它就不必自己调整大小。

答案 1 :(得分:1)

它们不是可互换的类。苹果和橘子。如果您打算通过密钥在集合中查找项目,请使用Dictionary。否则,请使用ArrayList(或者最好是List<T>