Java Arrays - 数组中的每个元素是不是都持有指向下一个元素的指针
Posted
技术标签:
【中文标题】Java Arrays - 数组中的每个元素是不是都持有指向下一个元素的指针【英文标题】:Java Arrays - Do each element in array hold pointer to the next elementJava Arrays - 数组中的每个元素是否都持有指向下一个元素的指针 【发布时间】:2016-05-16 08:45:47 【问题描述】:Java LinkedList 类使用双向链表来存储元素。
Java 中的数组是否使用单链表?
这就是java中数组和堆栈的不同之处吗?
【问题讨论】:
即使对于链表,您也无法从中获取包含对下一个对象的引用的对象,除非您明确这样做。 【参考方案1】:没有。数组只是一个连续的内存块,可以检查其长度以确保您不会尝试访问数组边界之外的元素。
为了获取特定元素,VM 只需(至少在逻辑上)获取数组中数据的起始地址,然后加上索引乘以元素大小。
【讨论】:
谢谢 Jon Skeet - 很高兴您(*** 中最知名的用户)回答我的问题 :)。那么 Stack 与数组到底有什么不同。我知道堆栈不能像数组一样随机访问。为什么会这样? @user2048204:堆栈是一个类,而不是像数组这样的内置本机类型。我建议你看一下 Stack 的源代码,看看它是如何工作的。【参考方案2】:堆栈遵循 LIFO。因此,首先输入的项目将是最后一个被删除的项目。
数组中的项目可以按任何顺序输入或删除。基本上每个成员访问都是使用索引完成的。这里没有严格的顺序来删除特定的元素。
see this link
【讨论】:
【参考方案3】:数组与链表完全不同。对于链表,从列表中删除项目的复杂性比从数组中删除项目的成本更低。
【讨论】:
以上是关于Java Arrays - 数组中的每个元素是不是都持有指向下一个元素的指针的主要内容,如果未能解决你的问题,请参考以下文章