Java基础知识--集合框架--list之Vector类 秒速五厘米 2023-07-20 12:29 38阅读 0赞 **一.介绍** 在JDK2之前(在Java的集合框架之前),要存储多个数据,此时存在一个叫Vector类. Vector类底层其实就是一个Object数组,Vector类中的方法是支持同步(方法使用synchronized修饰)的. **二.vector的设计原理(查看源代码):** ![在这里插入图片描述][watermark_type_ZmFuZ3poZW5naGVpdGk_shadow_10_text_aHR0cHM6Ly9ibG9nLmNzZG4ubmV0L3dlaXhpbl80MTU4ODc1MQ_size_16_color_FFFFFF_t_70] **三.Vector类存储原理:** 通过源码分析,发现在Vector类中有一个Object\[\]类型数组. protected Object[] elementData; 1):表面上把数据存储到Vector对象中,其实底层依然是把数据存储到Object数组中的. 2):我们发现该数组的元素类型是Object类型,意味着集合中**只能存储任意类型的对象**. 集合中只能存储对象,不能存储基本数据类型的值. 在Java5之前,必须对基本数据类型手动装箱. 如:v.addElement(Integer.valueOf(123)); 从Java5开始支持自动装箱操作,代码. 如:v.addElement(123);其实底层依然是手动装箱. 注意:修改项目的编译级别到Java5或者Java5之上(如右图). 3):集合类中存储的对象,都存储的是对象的引用,而不是对象本身. public class MyVector { public static void main(String[] args) { Vector v = new Vector(5); StringBuilder sb = new StringBuilder("ABC"); v.add(sb); System.out.println(v);//[ABC] sb.append("DEF"); System.out.println(v);//[ABCDEF] } } **四.常用方法** 增加: 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数组. [watermark_type_ZmFuZ3poZW5naGVpdGk_shadow_10_text_aHR0cHM6Ly9ibG9nLmNzZG4ubmV0L3dlaXhpbl80MTU4ODc1MQ_size_16_color_FFFFFF_t_70]: /images/20230528/642d60e563d340bdb7c79512be3c4163.png
还没有评论,来说两句吧...