为了账号安全,请及时绑定邮箱和手机立即绑定

ArrayList、LinkedList、Vector的区别

ArrayList、LinkedList、Vector的区别

大吉大利今晚学习 2018-02-13 11:43:01
查看完整描述

1 回答

已采纳
?
被吊打的学渣

TA贡献3条经验 获得超1个赞


  1. ArrayList:(1)底层的数据结构使用的是数组结构(数组长度是可变的百分之五十延长)。(2)特点:是查询很快,但增删较慢,线程不同步(数组查询快的原因是:数组的内存空间地址是连续的)。(3)ArrayList底层维护了一个Object[] 用于存储对象,默认数组的长度是10,当默认的或者指定的容量不够存储对象的时候,容量自动增长为原来的容量的1.5倍。(4)单线程效率高。

  2. LinkedList:(1)底层的数据结构是链表结构(特点是查询较慢,增删较快)。(2)特有方法:addFirst(E e)、getFirst(E e) 、removeFirst(E e) 

  3. Vector:(1)底层是数组数据结构 线程同步(数组长度是可变的百分之百延长),(无论查询还是增删都很慢,被ArrayList替代了)(2)多线程安全的,所以效率低。(3)特有的方法:void addElement(E obj)  在集合末尾添加元素    E elementAt( int index) 返回指定角标的元素    Enumeration elements()  返回集合中的所有元素,封装到Enumeration对象中测试此枚举是否包含更多的元素。     E nextElement()    如果此枚举对象至少还有一个可提供的元素,则返回此枚举的下一个元素。

查看完整回答
反对 回复 2018-02-13
  • 1 回答
  • 1 关注
  • 1120 浏览

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信