ArrayList,Vector, LinkedList的存储性能和特性?

ArrayList,Vector, LinkedList的存储性能和特性?

ArrayList

采用的是数组形式来保存对象的,这种方式将对象放在连续的位置中,所以最大的缺点就是插入或删除时非常麻烦。

LinkedList

采用的是将对象存放在独立的空间中,而且在每个空间中还保存下一个链接的索引,但缺点就是查找非常麻烦,要从第一个索引开始。

  • ArrayList和Vector都是用数组方式存储数据,此数组元素数要大于实际的存储空间以便进行元素增加和插入操作,他们都允许直接用序号索引元素,但是插入数据元素涉及到元素移动等内存操作,所以索引数据快而插入数据慢。

  • Vector使用了sychronized方法(线程安全),所以在性能上比ArrayList要差些。

  • LinkedList使用双向链表方式存储数据,按序号索引数据需要前向或后向遍历数据,所以索引数据慢,是插入数据时只需要记录前后项即可,所以插入的速度快。

原文地址:https://www.cnblogs.com/zxfei/p/11204210.html