数据结构笔记:Vector类的创建和常见的方法及作用

本文对比分析了JDK1.8中Vector和ArrayList的继承实现关系,指出Vector支持线程同步而ArrayList不支持。介绍了Vector的创建方式,并列举了其添加、获取、移除等常用方法。此外,还提供了示例代码展示如何操作Vector。
摘要由CSDN通过智能技术生成


概念

  1. JDK1.8对于Vector类的继承和实现关系如下
public class Vector<E>
    extends AbstractList<E>
    implements List<E>, RandomAccess, Cloneable, java.io.Serializable
  1. 学习Vector类一定要跟Arraylist类做对比,JDK1.8对于ArrayList类的继承和实现关系如下:
public class ArrayList<E> extends AbstractList<E>
        implements List<E>, RandomAccess, Cloneable, java.io.Serializable
  • 通过以上两点可以看出,Vector和ArrayList的继承和实现关系一模一样,那么他们的主要区别是什么呢?
    这里面源码文档写了很多,细节请看源码文档。我这里只讲一点,就是两者本质上都是数组,但Vector支持线程同步,而ArrayList不支持线程同步。

一、Vector的创建

  		/**
         * 参数1:initialCapacity:指定Vector的初始容量
         * 参数2:capacityIncrement:指定Vector容量不足的扩容量,不指定的情况下默认翻倍
         */
        Vector<Integer> vector = new Vector<>();
        Vector<Integer> vector1 = new Vector<>(10);
        Vector<Integer> vector2 = new Vector<>(10,10);
        //创建向量并添加集合中的值
        Vector<Integer> vector3 = new Vector<>(Arrays.asList(1,2,3,4));

二、常用方法及作用(详细看源码)

        Vector<Integer> vector = new Vector<>();
        //创建向量并添加集合中的值
        Vector<Integer> vector3 = new Vector<>(Arrays.asList(1,2,3,4));
        //添加一个元素,成功返回true
        vector.add(1);
        //往指定的索引处添加一个元素
        vector.add(1,2);
        //添加一个集合中的值,成功返回true,集合为null,则抛出异常
        vector.addAll(Arrays.asList(1,2,3,4));
        //功能上和add一样,不同的是:add是实现List接口重写的方法,返回值为boolean。addElement是Vector类中的特有方法,返回值是void。
        vector.addElement(5);
        //得到指定索引处的元素
        vector.get(1);
        //移除指定索引处的元素,返回移除值
        vector.remove(1);
        //如果存在该元素,这移除,不存在则不变
        vector.remove("1");
        //删除指定集合中的元素
        vector.removeAll(Arrays.asList(1,2,3));
        //返回该向量的容量
        vector.capacity();
        //返回该向量目前的元素个数
        vector.size();
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值