一、ArrayList和LinkedList的区别
1、联系:是List接口的两种不同实现,并且两者都不是线程安全的
2、区别:
(1)ArrayList底层采用动态数组来存储元素
(2)LinkedList底层采用双向链表来存储元素(本质区别)
(3)因为底层使用的存储方式不同,所以不同方法的时间复杂度不同。
ArrayList:#get O(1)【ArrayList最大的优点】
#add O(1)
#add(int index,E element)O(n)
#remove O(n)
LinkedList:#get O(n)
#add O(1)
#add(int index,E element)O(n)
#remove O(n)
(4)LinkedList有额外开销,占用内存随元素增加或删除时的大小而改变。ArrayList占用的内存在声明的时候就已经确定,默认大小为10,之后1.5倍扩容。
ArrayList和LinkedList的区别
最新推荐文章于 2024-07-09 16:46:46 发布