JAVA中List用于存放多个元素,能够给元素排序,并且可以重复,List一共有三个实现类,分别是Vector、LinkedList和ArrayList,三个实现类的区别为:
1.ArrayList是使用最多的实现类,它能对元素进行快速随机访问,它也是可以扩容的,但是当要对它的中间部分进行插入或者修改时,需要对数组进行复制和移动,代价高,所以适用于查询,而不适用于插入和删除。
2.Vector和ArrayList不一样的是它支持线程同步,即在某一时刻,只能有一个线程写Vector,可以避免多线程同时写入时引起的不一致性,为了线程同步,需要付出不小的代价,所以在随机查询时,它的效率低于ArrayList。
3.ArrayList 和Vector是采用数组方式存储数据,此数组元素数大于实际存储的数据以便增加和插入元素,
都允许直接序号索引元素,但是插入数据要设计到数组元素移动 等内存操作,所以索引数据快插入数据慢,
Vector由于使用了线程同步,所以性能上比ArrayList要差
,LinkedList使用双向链表实现存储,按序号索引数据需要进行向前或向后遍历,但是插入数据时只需要记录本项的前后项即可,所以插入数度较快,总的来说,我们在开发中,查询时用ArrayList,增删改用LinkedList。
Java中Vector、LinkedList和ArrayList的区别以及在开发中的选择
最新推荐文章于 2022-10-29 11:41:45 发布