ArrayList和LinkedList的内部实现;它们的区别和优缺点。

a.ArrayList:内部是数组实现的,因为是利用数组下标进行元素的访问,所以随机访问的速度特别快。因为是数组,所以ArrayList初始化大小是10,插入新元素的时候,会判断是否需要扩容,扩容的步长是原容量的0.5倍,扩容方式是利用数组的复制,因此有一定的开销。

b.LinkedList:内部是双向链表实现的,LinkedList有一个内部类作为存放元素的单元,里面有三个属性,用来存放元素本身和前后两个单元的引用,另外LinkedList内部还有一个header属性,LinkedList的第一个单元和最后一个单元都会指向header

c.ArrayList查找较快,插入、删除较慢,LinkedList查找较慢,插入、删除较快

发布了17 篇原创文章 · 获赞 13 · 访问量 1151

猜你喜欢

转载自blog.csdn.net/Tianc666/article/details/104391726
今日推荐