java集合框架之Vector

本文详细介绍了Java中Vector类的原理及使用方法,包括其内部实现、存储机制、常见操作方法等,帮助读者理解Vector如何实现线程安全。

1.Vector介绍

在JDK2之前(在Java的集合框架之前),要存储多个数据,此时存在一个叫Vector类.

Vector类底层其实就是一个Object数组,Vector类中的方法是支持同步(方法使用synchronized修饰)的.
--------------------------------------------------------------------------------------------------------------

Vector类设计原理,查看源代码:


2.Vector类存储原理

通过源码分析,发现在Vector类中有一个Object[]类型数组.
     1):表面上把数据存储到Vector对象中,其实底层依然是把数据存储到Object数组中的.
     2):我们发现该数组的元素类型是Object类型,意味着集合中只能存储任意类型的对象.
          集合中只能存储对象,不能存储基本数据类型的值.
          在Java5之前,必须对基本数据类型手动装箱.
           如:v.addElement(Integer.valueOf(123));
          从Java5开始支持自动装箱操作.
           如:v.addElement(123);其实底层依然是手动装箱.
     3):集合类中存储的对象,都存储的是对象的引用,而不是对象本身.


3.集合类的操作方法:

常用方法:
增加:
boolean add(Object e) 将指定元素添加到此向量的末尾,等价于addElement方法。 
void add(int index, Object element)  在此向量的指定位置插入指定的元素。 
boolean addAll(Collection c) :把c集合中的元素添加到当前集合对象中.


删除:
Object remove(int index) :删除指定索引位置的元素,并返回删除之后的元素.
boolean remove(Object o):删除指定的元素.
boolean removeAll(Collection c):从此集合中移除包含在指定 集合c中的所有元素。 
boolean retainAll(Collection c):在此集合中仅保留包含在指定 集合c中的元素,求两个集合的交集。

 
修改:
Object set(int index, Object element) :修改当前集合中指定索引位置的元素.返回被替换的旧的元素.


查询:
int size()  :返回当前集合中存储几个元素.
boolean isEmpty():判断当前集合中元素个数是否为0. 
Object  get(int index):查询指定索引位置的元素.
Object[] toArray():把集合对象转换为Object数组.

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值