ArrayList和LinkedList的时间复杂度
2017-03-23 21:19
302 查看
1.ArrayList和LinkedList的时间复杂度;
(1)ArrayList:ArrayList是一个泛型类,底层采用数组结构保存对象。数组结构的优点是便于对集合进行快速的随机访问,即如果需要经常根据索引位置访问集合中的对象,使用由ArrayList类实现的List集合的效率较好。数组结构的缺点是向指定索引位置插入对象和删除指定索引位置对象的速度较慢,并且插入或删除对象的索引位置越小效率越低,原因是当向指定的索引位置插入对象时,会同时将指定索引位置及之后的所有对象相应的向后移动一位。
(2)LinkedList:LinkedList是一个泛型类,底层是一个双向链表,所以它在执行插入和删除操作时比ArrayList更加的高效,但也因为链表的数据结构,所以在随机访问方面要比ArrayList差。另外,LinkedList还提供了一些可以使其作为栈、队列、双端队列的方法。
推荐阅读:
http://blog.csdn.net/booirror/article/details/7707551/
(1)ArrayList:ArrayList是一个泛型类,底层采用数组结构保存对象。数组结构的优点是便于对集合进行快速的随机访问,即如果需要经常根据索引位置访问集合中的对象,使用由ArrayList类实现的List集合的效率较好。数组结构的缺点是向指定索引位置插入对象和删除指定索引位置对象的速度较慢,并且插入或删除对象的索引位置越小效率越低,原因是当向指定的索引位置插入对象时,会同时将指定索引位置及之后的所有对象相应的向后移动一位。
(2)LinkedList:LinkedList是一个泛型类,底层是一个双向链表,所以它在执行插入和删除操作时比ArrayList更加的高效,但也因为链表的数据结构,所以在随机访问方面要比ArrayList差。另外,LinkedList还提供了一些可以使其作为栈、队列、双端队列的方法。
推荐阅读:
http://blog.csdn.net/booirror/article/details/7707551/
相关文章推荐
- Java中ArrayList和LinkedList区别 时间复杂度 与空间复杂度
- Java中ArrayList和LinkedList区别 时间复杂度 与空间复杂度
- Java中ArrayList和LinkedList区别 时间复杂度 与空间复杂度
- ArrayList与LinkedList时间复杂度之对比
- Leetcode 234 Palindrome Linked List 复杂度为时间O(n) 和空间(1)解法
- java的list几种实现方式的效率(ArrayList、LinkedList、Vector、Stack),以及 java时间戳的三种获取方式比较
- ArrayList 与LinkedList 复杂度
- 关于ArrayList和LinkedList的插入,遍历,删除时间比照
- 测试ArrayList与LinkedList追加数据时间长短
- Array and Linkedlist区别与操作的时间复杂度(转载)
- ArrayList与LinkedList迭代时间比较
- lintcode 容易题:Delete Node in the Middle of Singly Linked List 在O(1)时间复杂度删除链表节点
- 关于ArrayList与LinkedList的add时间比较
- Leetcode 234 Palindrome Linked List 复杂度为时间O(n) 和空间(1)解法
- LintCode Delete Node in the Middle of Singly Linked List 在O(1)时间复杂度删除链表节点
- 372. 在O(1)时间复杂度删除链表节点 (delete-node-in-the-middle-of-singly-linked-list)(c++)----lintcode面试题之链表
- 用代理测试ArrayList和LinkedList的添加和删除元素所用的时间
- ArrayList和LinkedList的操作时间的差异
- java的list几种实现方式的效率(ArrayList、LinkedList、Vector、Stack),以及 java时间戳的三种获取方式比较
- HashMap,Hashset,ArrayList,LinkedList集合的区别