索引超出范围必须为非负值并小于集合大小_Java集合类之Vector

Vector源码解析

老样子,话不多说先上一张UML类图

d473d09b12f9318168f6918360d8bbc8.png
d27d88ce47c48976856bb81d937b41f3.png
  1. Vector的初始化构造方法

无参构造(默认调用初始化容量的构造方法,默认容量为10)

public Vector() {//这里会调用Vector带容量参数的构造方法默认容量为10//这里和ArrayList不同的是ArrayList在调用add方法才初始化容量    this(10);}

指定初始化容量大小

public Vector(int initialCapacity) {//这里调用下面指定初始化容量和增长系数的构造方法,默认增长系数为0   this(initialCapacity, 0);}

指定初始化容量和增长系数

public Vector(int initialCapacity, int capacityIncrement) {    super();    //容量不能小于0    if (initialCapacity < 0)        throw new IllegalArgumentException("Illegal Capacity: "+                                           initialCapacity);    //为对象数组指定初始化容量    this.elementData = new Object[initialCapacity];    //设置增长系数    this.capacityIncrement = capacityIncrement;}

使用另外一个集合构造该集合

public Vector(Collection extends E> c) {//将传入集合转成数组    elementData = c.toArray();    //Vector的元素个数就是集合的长度    elementCount = elementData.length;    // c.toArray might (incorrectly) not return Object[] (see 6260
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值