IT题库2-LinkList和ArrayList(插入数据、末尾插入数据、不同数据量插入数据)的效率?

ArrayList和LinkedList是两个集合类,用于存储一系列的对象引用(references)。ArrayList是List接口的一个实现类,它的特点是查询效率高,增删效率低,线程不安全,原因是因为ArrayList底层是封装了一个数组,它是用数组实现的。

ArrayList和LinkedList的大致区别: 
1.ArrayList是实现了基于动态数组的数据结构,LinkedList基于链表的数据结构。 
2.对于随机访问get和set,ArrayList觉得优于LinkedList,因为LinkedList要移动指针。 
3.对于新增和删除操作add和remove,LinedList比较占优势,因为ArrayList要移动数据。 

当ArrayList和LinkList均在数组尾端插入数据时,两者性能相差不大。

当ArrayList和LinkList均在数组首端端插入数据时,LinkList明显优于ArrayList。

也就是说,当你增加或删除一个元素的时候,在LinkedList里,它最多只会影响两个元素,而不像ArrayList里,当在中间插入一个元素时,它后面的所有的元素都要受到影响,那么这样在一定程度上LinkedList的增删效率就会明显的高于ArrayList的。

猜你喜欢

转载自www.cnblogs.com/sikewang/p/9633872.html