【发布时间】:2016-05-16 08:45:47
【问题描述】:
Java LinkedList 类使用双向链表来存储元素。
Java 中的数组是否使用单链表?
这就是java中数组和堆栈的不同之处吗?
【问题讨论】:
-
即使对于链表,您也无法从中获取包含对下一个对象的引用的对象,除非您明确这样做。
Java LinkedList 类使用双向链表来存储元素。
Java 中的数组是否使用单链表?
这就是java中数组和堆栈的不同之处吗?
【问题讨论】:
没有。数组只是一个连续的内存块,可以检查其长度以确保您不会尝试访问数组边界之外的元素。
为了获取特定元素,VM 只需(至少在逻辑上)获取数组中数据的起始地址,然后加上索引乘以元素大小。
【讨论】:
堆栈遵循 LIFO。因此,首先输入的项目将是最后一个被删除的项目。
数组中的项目可以按任何顺序输入或删除。基本上每个成员访问都是使用索引完成的。这里没有严格的顺序来删除特定的元素。
【讨论】:
数组与链表完全不同。对于链表,从列表中删除项目的复杂性比从数组中删除项目的成本更低。
【讨论】: