请问一下高手:Vector和ArrayList方法的怎么用啊?
                  
                    并且各有什么优缺点?
    
                          在线等!

解决方案 »

  1.   

    Vector 是比较早 
       优点: 线程同步
       效率: 差(相对ArrayList)
    ArrayList 现今最常用
       优点: 数组的优点
       缺点: 自身不是线程同步 可以利用工具类(Collections)保持同步
              如: List list = Collections.synchronizedList(new ArrayList());常见的使用就是
      ·存储
         ·Vector 
              ·v.add(Object o);
        ·ArrayList
              ·list.add(Object o);
      ·遍历 都支持Iterator
        for(Iterator iterator = (vercot或arraylist).iterator();iterator.hasNext();){
             ...
        }
      

  2.   

    ArrayList和Vector都是使用数组方式存储数据,此数组元素数大于实际存储的数据以便增加和插入元素,它们都允许直接按序号索引元素,但是插入元素要涉及数组元素移动等内存操作,所以索引数据快而插入数据慢,Vector由于使用了synchronized方法(线程安全),通常性能上较ArrayList差,而LinkedList使用双向链表实现存储,按序号索引数据需要进行前向或后向遍历,但是插入数据时只需要记录本项的前后项即可,所以插入速度较快。
      

  3.   

    ArrayList可以说是Vector的改进版本,其相对于Vector的优点不一而足。
    ArrayList本身不是线程安全的,但可以用Collections.synchronizedList()来得到对应的线程安全的版本。实际上,Java 2.0引入的集合类默认都不是线程安全的,这是基于效率和灵活性考虑,不是缺点,而是优点。
    明智的做法是:能用ArrayList的时候尽量用ArrayList,除非你要与Java 2.0以前的代码兼容,否则没有什么理由用Vector。
      

  4.   

    ArrayList大致上等同于 Vector 类,除了ArrayList是不同步的.
    都可以可以实现可增长的对象数组