java常见面试题之ArrayList和LinkList的区别

先说一下二者的共同点

  • ArrayList和LinkList都实现了以下接口:java.util.List、 Cloneable,、java.io.Serializable

由于实现了java.util.List接口,二者都支持泛型,ArrayList和LinkList都能够用来存放各种数据类型的对象;

都实现了Cloneable接口,能够支持克隆;

都实现了java.io.Serializable接口,能够支持序列化;

  • 二者的线程都是不安全的

二者的不同点

  • ArrayList的内部是数组实现,而LinkList的内部是由循环双向链表实现的。由数组和循环双向链表就可知道ArrayList和LinkList二者的最大区别就是前者进行查找操作时,速度要优于后者。
  • 但是当要进行插入和删除操作较多时,ArrayList的速度就要比LinkList的速度慢。
  • ArrayList主要控件开销在于需要在lList列表预留一定空间;而LinkList主要控件开销在于需要存储结点信息以及结点指针信息

你可能感兴趣的:(积累点东西)