8.Vector原理及操作

设置原理:

在JDK2之前(在Java的集合框架之前),要存储多个数据,此时存在一个Vector类.
Vector类底层其实就是一个Object数组,Vector类中的方法是支持同步的(方法使用synchronized修饰)

Vector类存储原理:

通过源代码分析,发现在Vector类中有一个Object[]类型数组.

protected Object[] elementData;
  1. 表面上把数据存储到Vector对象中,其实底层依然是把数据存储到Object数组中的.

  2. 我们发现该数组的元素类型是Object类型,意味着集合中只能存储任意类型的对象.

    集合中只能存储对象,不能存储基本数据类型的值,在Java5之前,必须对基本数据类型手动装箱.
    如:v.addElement(Integer.ValueOf(123));

    从Java5开始支持自动装箱操作
    如:v.addElement(123);

    其实底层依然是手动装箱

  3. 集合中存储的对象,都存储的是对象的引用,而不是对象本身

  • 增加
boolean add(Object e);//将指定元素添加到此向量的末尾
void add(int index,Object element);//在此向量的指定位置插入指定的元素
boolean addAll(Collection c);//把集合中的元素添加到当前集合对象中.
  • 删除
Object remove(int index);//删除指定索引位置的元素,并返回删除之后的元素
boolean remove(Object o);//删除指定的因素
boolean removeAll(Collection c);//从此集合中移除包含在指定集合C中的所有元素
boolean retain(Collection c);//在此集合中仅仅保留包含在指定集合C中的元素.
  • 修改
Object set(int index,Object element);//修改当前集合中指定索引位置的元素,返回被替换的旧元素.
  • 查询
int size();//返回当前集合中 存储几个 元素
boolean isEmpty();//判断当前集合中元素个数是否为0
Object get(int index);//查询指定索引位置的元素
Object[] toArray();//把集合对象转换为Object数组

你可能感兴趣的:(8.Vector原理及操作)