属于List接口,Vector底层是数组结构,查询快,增删慢,线程安全,效率低。Vector构造的时候,如果不放入数字就是默认值10,放入一个数的时候,就是默认的大小,当超过这个数的范围的时候,按照原容量的二倍扩增,重新分配内存,放入两个数的时候,第一个是默认的大小,第二个数是一旦超过第一个数大的范围的时候,按照第二个扩增,重新分配内存。跟LinkedList、ArrayList用法大同小异。
1 /* 2 * 作者:白客C 3 * 时间:2020年02月29日 4 * 内容:Vector的用法 5 */ 6 7 package com.beekc.www; 8 import java.util.*; 9 10 public class Beekc { 11 public static void main(String[] args) throws Exception { 12 //实例化Vector 13 Vector vv = new Vector(); 14 15 Emp emp = new Emp("000","白客C",1000); 16 vv.add(emp); 17 18 System.out.println(((Emp)vv.get(0)).getName()); 19 20 } 21 } 22 23 //雇员类 24 class Emp{ 25 //学号 26 private String empNo; 27 //姓名 28 private String name; 29 //薪水 30 private float sal; 31 32 //构造函数 33 public Emp(String empNo, String name, float sal) 34 { 35 this.empNo = empNo; 36 this.name = name; 37 this.sal = sal; 38 } 39 40 public String getEmpNo() { 41 return empNo; 42 } 43 44 public void setEmpNo(String empNo) { 45 this.empNo = empNo; 46 } 47 48 public String getName() { 49 return name; 50 } 51 52 public void setName(String name) { 53 this.name = name; 54 } 55 56 public float getSal() { 57 return sal; 58 } 59 60 public void setSal(float sal) { 61 this.sal = sal; 62 } 63 }
运行结果
ArrayList和Vector的区别
ArrayList与Vector都是Java得集合类,都可以用来存放Java对象,这是他们得共同点,但是他们是有区别:
Ⅰ.同步性
Vector是同步的,这个类中的一些方法保证了Vector中的对象是线程安全的。而ArrayList则是异步的,因此ArrayList中的对象并不是线程安全的。因为同步的要求会影响执行的效率,所以如果你不需要线程安全的集合那么使用ArrayList是一个很好的选择,这样可以避免由于同步带来的不必要的性能开销。
Ⅱ.数据增长
从内部实现机制来讲ArrayList和Vector都是使用数组来控制集合中的对象,当你向这两种类型中增加元素的时候,如果元素的数目超出了内部数组目前的长度他们都需要扩展内部数组的长度,Vector缺省情况下自动增长原来一倍的数组长度,ArrayList是原来的50%。
ArrayList集合链接:https://www.cnblogs.com/beekc/p/12381010.html