2016-02-06 79 views

回答

7

不。数组只是一个连续的内存块,其长度可以被检查以确保您不会尝试访问数组边界外的元素。

为了得到一个特定的元素,虚拟机只是(逻辑上至少)取数组中的数据的起始地址,并添加索引乘以元素大小。

+0

谢谢Jon Skeet - 很高兴有你(Stackoverflow中最有名的用户)回答我的问题:)。那么Stack究竟与数组有什么不同?我知道堆栈不能像数组那样随机访问。为什么这样? – user2048204

+0

@ user2048204:Stack是一个类,而不是像数组一样内置的本机类型。我建议你看一下Stack的源代码,看看它是如何工作的。 –

1

STACK遵循LIFO。因此,首先输入的项目将是最后删除的项目。

在数组中,可以按任意顺序输入或删除项目。基本上每个成员的访问都是使用索引完成的。在这里没有严格的顺序去除一个特定的元素。

see this link

0

数组是从链表完全不同。当涉及到链表时,从列表中删除项目的复杂性与从数组中删除项目相比成本更低。

相关问题