Vector的简要学习

 一、Vector是什么?
 Vector类实现了一个可增长对象数组。像一个数组,它包含可以使用整数索引进行访问的组件。

“Vector 可实现自动增长的对象数组。 java.util.vector提供了向量类(vector)以实现类似动态数组的功能。创建了一个向量类的对象后,可以往其中随意插入不同类的对象,即不需顾及类型也不需预先选定向量的容量,并可以方便地进行查找。对于预先不知或者不愿预先定义数组大小,并且需要频繁地进行查找,插入,删除工作的情况。可以考虑使用向量类。”

原文链接:https://blog.csdn.net/weixin_43407007/article/details/87901795

  • Vector继承了AbstractList,实现了List,它是一个队列,因此实现了相应的添加、删除、修改、遍历等功能。
  • Vector实现了RandomAccess接口,因此可以随机访问
  • Vector实现了Cloneable,重载了clone()方法,因此可以进行克隆。
  • Vector实现了Serializable接口,因此可以进行序列化
  • Vector的 操作是线程安全的。

原文链接:https://blog.csdn.net/qq924862077/article/details/48039567

二、Vector怎么用?

函数解释大白话理解
boolean add(E e)将指定的元素,添加这个矢量的末端加到末尾
void add(int index, E element)在该向量的指定位置上插入指定的元素加入指定的位置
boolean contains(Object o) 如果这个向量包含指定的元素则返回 true  有它返回true
E elementAt(int index) 返回指定索引处的组件。返回该下标指向的元素
E get(int index) 返回此向量中指定位置的元素。查看某位置的元素
int indexOf(Object o) 返回该向量中指定元素的第一个出现的索引,没有就返回-1查看元素第一次出现的位置
int indexOf(Object o, int index) 从 index往后找,返回这个向量中第一个出现的指定元素的索引查看
void insertElementAt(E obj, int index) 将指定的对象插入在指定的位置。  插入到指定位置

boolean isEmpty() 

测试这个向量是否没有组件。判空
remove(int index) 移除此向量中指定位置的元素。 删除
size() 返回此向量中的组件的数目。 大小
sort(Comparator<? super E> c) 分类列表使用提供的 Comparator比较元素。 排序


 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

三、Vector需要注意的地方

Vector的线程安全是相对的,需要加入synchronized

线程安全就是多线程访问时,采用了加锁机制,当一个线程访问该类的某个数据时,进行保护,其他线程不能进行访问直到该线程读取完,其他线程才可使用。不会出现数据不一致或者数据污染。

线程不安全就是不提供数据访问保护,有可能出现多个线程先后更改数据造成所得到的数据是脏数据。
 

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值