Java常见问题(十一):ArrayList和LinkedList有哪些区别?

题目分析:ArrayList和LinkedList首先明白它们所属集合,再从底层结构上引申其特性。

【答案】

集合可以从接口上分类:

在这里插入图片描述
ArrayListLinkedList集合同属List接口,区别总结如下:

  • 底层结构:
    ArrayList使用了动态数组实现,实质上是一个动态数组; LinkedList底层使用了双向链表实现,可当作堆栈、队列、双端队列使用。
  • 底层结构决定了优势:
    ArrayList随机存取方面效率于LinkedList;LinkedList节点的增删方面效率于ArrayList。
  • 底层结构决定了缺陷:
    ArrayList必须预留一定的空间,当空间不足的时候,会进行扩容操作,LinkedList的开销是必须存储节点的信息以及节点的指针信息

【题目拓展】

暂无

发布了82 篇原创文章 · 获赞 0 · 访问量 902

猜你喜欢

转载自blog.csdn.net/weixin_43518038/article/details/105065574