A股上市公司传智教育(股票代码 003032)旗下技术交流社区北京昌平校区

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

© 王希军 中级黑马   /  2013-8-2 16:46  /  1139 人查看  /  4 人回复  /   0 人收藏 转载请遵从CC协议 禁止商业使用本文

本帖最后由 杨兴庭 于 2013-8-4 20:26 编辑

ArrayList和Vector的区别是什么     具体点

评分

参与人数 1黑马币 +3 收起 理由
杨兴庭 + 3

查看全部评分

4 个回复

倒序浏览
ArrayList  底层的数据结构使用的是数组结构    最常见使用容器
查询 速度很快 但是增删稍慢  线程不同步
初始容量为10的空列表  百分之五十 延长  new一个新的数组 copy过去
Vector    底层是数组数据结构  线程同步  被ArrayList替代了  百分之百延长

评分

参与人数 1技术分 +1 收起 理由
杨兴庭 + 1

查看全部评分

回复 使用道具 举报
List本身是Collection接口的子接口,具备了Collection的所有方法。现在学习List体系特有的共性方法,查阅方法发现List的特有方法都有索引,这是该集合最大的特点。
List:有序(元素存入集合的顺序和取出的顺序一致),元素都有索引。元素可以重复。
ArrayList:底层的数据结构是数组,线程不同步,ArrayList替代了Vector,查询元素的速度非常快。
LinkedList:底层的数据结构是链表,线程不同步,增删元素的速度非常快。
Vector:底层的数据结构就是数组,线程同步的,Vector无论查询和增删都巨慢。

评分

参与人数 1技术分 +1 收起 理由
杨兴庭 + 1

查看全部评分

回复 使用道具 举报
ArrayList类实现了List接口,由ArrayList类实现的List集合采用数组结构保存对象。数组结构的优点是便于对集合进行快速的随机访问,如果经常需要根据索引位置访问集合中的对象,使用由ArrayList类实现的List集合的效率较好。
Vector类是一元集合,可以加入重复数据,它的作用和数组类似,可以保存一系列数据。它的优点是可以很方便地对集合内的数据进行查找、增加、修改、删除等操作。
回复 使用道具 举报
其实这个在毕老师视频14-07里面有详细讲解哦:
首先他们同属于Collection集合下的list子接口中,具体特点可以总结为:
List 通过下标 来取得值,值可以重复
        |--ArrayList  查询速度快,增删速度慢,且是数据越多越慢
        |--LinkedList 查询速度慢,增删速度快,因为每个元素只记忆它自己前后两个元素。
          |--Vector          底层是数组数据结构,基本被ArrayList代替,但它是线程同步,ArrayList线程不同步。
既然verctor基本都被ArrayList代替了,那为什么还是存在verctor呢,
那是因为verctor是存在于Java1.0的元老级人物,而且他有一个特有方法:枚举(Enumeration)。
这个枚举就是早期的迭代器。而在现在还在用的某些对象引用了它的枚举,而没用迭代,且枚举方法只有它有,所以它还是有存在的必要的。
下面写个枚举的事例代码:
  1. import java.util.*;
  2. class VectorDemo
  3. {
  4.         public static void main(String[] args)
  5.         {
  6.                 Vector v = new Vector();

  7.                 v.add("Element01");
  8.                 v.add("Element02");
  9.                 v.add("Element03");
  10.                 v.add("Element04");
  11.                 v.add("Element05");

  12.                 Enumeration en = v.elements();

  13.                 while(en.hasMoreElements())
  14.                 {
  15.                         System.out.println(en.nextElement());
  16.                 }
  17.         }
  18. }
复制代码

评分

参与人数 1技术分 +1 收起 理由
杨兴庭 + 1

查看全部评分

回复 使用道具 举报
您需要登录后才可以回帖 登录 | 加入黑马