ArrayList,Vector, LinkedList的存储性能和特性?
ArrayList
采用的是数组形式来保存对象的,这种方式将对象放在连续的位置中,所以最大的缺点就是插入或删除时非常麻烦。
LinkedList
采用的是将对象存放在独立的空间中,而且在每个空间中还保存下一个链接的索引,但缺点就是查找非常麻烦,要从第一个索引开始。
-
ArrayList和Vector都是用数组方式存储数据,此数组元素数要大于实际的存储空间以便进行元素增加和插入操作,他们都允许直接用序号索引元素,但是插入数据元素涉及到元素移动等内存操作,所以索引数据快而插入数据慢。
-
Vector使用了sychronized方法(线程安全),所以在性能上比ArrayList要差些。
-
LinkedList使用双向链表方式存储数据,按序号索引数据需要前向或后向遍历数据,所以索引数据慢,是插入数据时只需要记录前后项即可,所以插入的速度快。