码迷,mamicode.com
首页 > 其他好文 > 详细

Vector 源码分析 jdk1.8

时间:2017-06-13 12:46:57      阅读:177      评论:0      收藏:0      [点我收藏+]

标签:版本   nts   span   cto   克隆   help   public   矢量   tco   

Vector简介

Vector 是矢量队列,它是JDK1.0版本添加的类。继承于AbstractList,实现了List, RandomAccess, Cloneable这些接口。
Vector 继承了AbstractList,实现了List;所以,它是一个队列,支持相关的添加、删除、修改、遍历等功能
Vector 实现了RandmoAccess接口,即提供了随机访问功能。RandmoAccess是java中用来被List实现,为List提供快速访问功能的。在Vector中,我们即可以通过元素的序号快速获取元素对象;这就是快速随机访问。
Vector 实现了Cloneable接口,即实现clone()函数。它能被克隆。

和ArrayList不同,Vector中的操作是线程安全的

 

 

Vector的源码分析

  Vector 源码和 ArrAyList 基本一致, 。如需 ArrAyList 源码分析,详情请见  http://www.cnblogs.com/scholar-xie/p/7000082.html

 

  差异区别

  

  /**
     * synchronized*/
    public synchronized void addElement(E obj) {
        modCount++;
        ensureCapacityHelper(elementCount + 1);
        elementData[elementCount++] = obj;
    }

    /**
     *   synchronized  */
    public synchronized void removeAllElements() {
        modCount++;
        // Let gc do its work
        for (int i = 0; i < elementCount; i++)
            elementData[i] = null;

        elementCount = 0;
    }

  /**
     * 方法上面加上了 synchronized*/
    public synchronized E get(int index) {
        if (index >= elementCount)
            throw new ArrayIndexOutOfBoundsException(index);

        return elementData(index);
    }

 

  

Vector 源码分析 jdk1.8

标签:版本   nts   span   cto   克隆   help   public   矢量   tco   

原文地址:http://www.cnblogs.com/scholar-xie/p/7000211.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!