首页 > 学院 > 开发设计 > 正文

8 ArrayList,LinkedList以及Vector的区别?

2019-11-06 06:20:34
字体:
来源:转载
供稿:网友

题目:请问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,查找速度非常慢,增加和删除 操作非常快。(本质上是由双向循环链表的特点来决定的)


发表评论 共有条评论
用户名: 密码:
验证码: 匿名发表