ArrayList与LinkedList的差异(面试常考)
发布时间
阅读量:
阅读量
在近期的秋季招聘面试过程中,这道题目频繁出现,尽管本人能够给出答案,但始终觉得存在一定的不足,因此决定进行归纳整理。
ArrayList 与 LinkedList 均对 List 接口进行了实现。
public class ArrayList<E> extends AbstractList<E>
implements List<E>, RandomAccess, Cloneable, java.io.Serializable
public class LinkedList<E>
extends AbstractSequentialList<E>
implements List<E>, Deque<E>, Cloneable, java.io.Serializable
从实现层面来看,LinkedList 类型不仅具备了 List 接口的功能,还额外实现了 Deque 接口,从而能够作为双向队列的实现方式。
ArrayList 的底层结构基于动态数组,具备自动扩展的能力,每次扩容时容量会增加至原来的 1.5 倍。与基础数组相比,它对数组插入、删除以及扩容等操作进行了封装,简化了相关细节的处理过程。
此外,该结构支持随机访问特性 ,然而在进行元素的
全部评论 (0)
还没有任何评论哟~
