在JDK2之前(在Java集合框架之前),要存储多个数据,此时存在一个叫Vector类。
Vector类底层其实就是一个Object数组,Vector类中的方法是支持同步(方法使用 synchronized修饰)的。
Vector类设计原理:查看源代码
Vector类存储原理:
通过源码分析,发现Vector中有一个Object数组。
1.表面上吧数据存储到Vector对象中,其实底层是把数据存储到Object数据中。
2.我们发现该数组的元素类型是Object类型,意味着集合只能存储任意类型的对象。
集合中只能存储对象,不能存储基本数据类型的值。
在Java5之前,必须对基本数据类型手动装箱,Java5之后支持自动装箱。
3.集合类中存储的对象,都存储的是对象的引用地址,而不是对象本身。
Vector类常用操作方法:
增加:
boolean add(Object e) 将指定元素添加到此向量的末尾
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数组