【发布时间】:2010-04-24 21:58:29
【问题描述】:
ArrayList 内部是否使用数组?如果我们使用默认构造函数(new ArrayList()),这是一个空数组吗?谢谢。
【问题讨论】:
-
你为什么想知道——OO编程的一个要点是封装,这样你就不需要知道一个类的内部结构,只使用它的接口? (像往常一样,没有什么是完美的,他们可能有理由拥有这些知识)
-
@Mark:封装的目的不是让你完全不知道里面发生了什么;那是你没有有知道里面发生了什么。了解系统的内部结构总是很有用。按照你的逻辑,
LinkedList<T>和List<T>应该都不需要,因为它们都做同样的事情,对吧? -
@Mark - 很高兴知道这样您就可以了解聪明人是如何完成他们所做的事情的。 @rkrauter - 如果您真的想知道,我建议您查看 .NET Framework 库源代码(是的,它可用)。 weblogs.asp.net/scottgu/archive/2008/01/16/…
-
并不是说这回答了你的问题,但如果你使用的是 .NET 2.0 或更高版本,那么没有理由再使用 ArrayList 了,因为我们有更好的(通用)等价物—— List
类...msdn.microsoft.com/en-us/library/6sh2ey19.aspx