题目:请问ArrayList,LinkedList以及Vector的区别?
1,ArrayList底层实际是采用数组实现的(并且该数组的类型是Object类型)
2,如果是jdk6的话,采用Arrays.copyOf()方法来生成一个新的数组,如果是jdk5.0的话,使用的是System.arraycopy方法
3,List list = new ArrayList();时,底层会生成一个长度为10的数组来存放对象。( jdk8是在 add方法里做的自增长 )
4,对于ArrayList和Vector底层都是用数组实现的(该数组类型都是一个Object类型的数组)
5,对于ArrayList,所有的方法都是不同步的,对于Vector,大部分public方法都是同步的。
6,对于ArrayList,查找速度非常快,增加和删除操 作非常慢。(本质上是有数组的特点来决定的)
7,对于LinkedList,查找速度非常慢,增加和删除 操作非常快。(本质上是由双向循环链表的特点来决定的)
本文详细对比了ArrayList与LinkedList两种Java集合类的特点与区别,包括它们的底层实现方式、同步特性及增删查改等操作的效率差异。
253

被折叠的 条评论
为什么被折叠?



