![](https://img-blog.csdnimg.cn/20201014180756930.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
集合类
文章平均质量分 86
陈陈陈辰
这个作者很懒,什么都没留下…
展开
-
ArrayList 剖析
ArrayList,其内部采用动态数组实现,可以随机访问,按照索引位置进行访问效率很高,效率是O(1);除非数组已排序,否则按照内容查找元素效率比较低,具体是O(N),N为数组内容长度,也就是说,性能与数组长度成正比;添加元素的效率还可以,重新分配和拷贝数组的开销被平摊了,具体来说,添加N个元素的效率为O(N);插入和删除元素的效率比较低,因为需要移动元素,具体为O(N)。原创 2018-07-07 18:57:17 · 243 阅读 · 0 评论 -
LinkedList 剖析
LinkedList 内部是用双向链表实现的,它是一个 List ,但也实现了 Deque 接口,可以作为队列、栈和双端队列使用,维护了长度、头节点和尾节点,它按需分配空间,不需要预先分配很多空间;不可以随机访问,按照索引位置访问效率比较低,必须从头或尾顺着链接找,效率为O(N/2);不管列表是否已排序,只要是按照内容查找元素,效率都比较低,必须逐个比较,效率为O(N); 在两端添加、删除元素的效率很高,为O(1)。原创 2018-07-07 19:05:20 · 161 阅读 · 0 评论