java 容器之Vector

Vector
一. 基本特点
1. 动态数组,初始容量为10.(本质上就是数组)
2. 线程同步(区别于动态数组ArrayList).Vector 增加或者删除元素接口均加了同步关键字。
源码如下所示:

public synchronized boolean add(E var1) {
    ++this.modCount;
    this.ensureCapacityHelper(this.elementCount + 1);
    this.elementData[this.elementCount++] = var1;
    return true;
}
public synchronized void addElement(E var1) {
    ++this.modCount;
    this.ensureCapacityHelper(this.elementCount + 1);
    this.elementData[this.elementCount++] = var1;
}

public synchronized boolean removeElement(Object var1) {
    ++this.modCount;
    int var2 = this.indexOf(var1);
    if(var2 >= 0) {
        this.removeElementAt(var2);
        return true;
    } else {
        return false;
    }
}


二. 试用范围
 主要用于存储的元素个数不定,且需要保证线程安全的地方。

二. Deme
简单给出了增加和删除元素的方法。
public class myClass {
    public static void main(String[] args){
        Vector vector = new Vector();
        vector.add("one");
        vector.add("two");
        vector.add("three");
        vector.add("four");
        vector.add("five");
        System.out.println("vector ="+vector);

        //增加元素(两种方法均往数组后面增加元素,差别add()boolen返回值而addElement没有)
        vector.addElement("six");
        vector.add("seven");
        System.out.println("vector ="+vector);

        //移除指定Index的元素
        vector.remove(1);
        System.out.println("vector ="+vector);
        //移除指定值的元素
        vector.remove("three");
        System.out.println("vector ="+vector);

        vector.add(4,"eight");
        System.out.println("vector ="+vector);

    }
}

输出:
vector =[one, two, three, four, five]
vector =[one, two, three, four, five, six, seven]
vector =[one, three, four, five, six, seven]
vector =[one, four, five, six, seven]
vector =[one, four, five, six, eight, seven]

Process finished with exit code 0

四. 总结:注意使用的范围,如果不是需要线程安全,就使用ArrayList, 因为同步锁会影响访问的性能。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值