java笔记-Vector类

    科技2022-07-11  84

    Vector 的 引入

    对应于类似数组的顺序存储的数据结构,允许不同类型的元素共存于一个变长数组中,可以看作是把不同类型元素按照动态数组进行处理

    可以看作是一个可变大小的数组 用一个整数类型的次序值来访问 增加或删除了元素,大小也变大或变

    适合情况 需要处理的对象数目不定,序列中的元素都是对象或可以表示为对象; 需要将不同类的对象组合成一个数据序列; 需要做频繁的对象序列中元素的插入和删除; 经常需要定位序列中的对象和其他查找操作; 在不同的类之间传递大量的数据

    elementData

    存放数据元素

    elementCount

    记录Vector中元素的实际个数

    capacityIncrement

    容量增值

    public Vector()

    构造一个空向量

    public Vector(int initialCapacity)

    以初始存储容量initialCapacity构造一个空的向量

    Vector public Vector(int initialCapacity, int capacityIncrement)

    以初始存储容量initialCapacity和容量增量capacityIncrement构造一个空的向量Vector例如:Vector MyVector = new Vector(100, 50);

    package three; import java.util.Random; import java.util.Vector; public class MyVector extends Vector { public MyVector() { super(1, 1); // 指定 capacity 和 capacityIncrement 取值 } public void addInt(int i) { addElement(new Integer(i)); } public void addFloat(float f) { addElement(new Float(f)); } public void addString(String s) { addElement(s); } public void addCharArray(char a[]) { addElement(a); } public void printVector() { Object o; int length = size(); // 同capacity相比较 System.out.println("Number of vector elements is " + length + " and they are:"); for (int i = 0; i < length; i++) { o = elementAt(i); if (o instanceof char[]) { // System.out.println(o); //这样写不好 System.out.println(String.copyValueOf((char[]) o)); } else System.out.println(o.toString()); } } public static void main(String args[]) { MyVector v = new MyVector(); int digit = 5; float real = 3.14f; char letters[] = { 'a', 'b', 'c', 'd' }; String s = new String("Hello Java!"); v.addInt(digit); v.addFloat(real); v.addString(s); v.addCharArray(letters); for(int i=0;i<10;i++){ v.addElement(new Random()); } v.insertElementAt("ADD", 3); System.out.println("--------------------------------"); MyVector v2= new MyVector(); for (int i=0;i<10;i++){ v2.addElement("welcome"); v2.addElement("to"); v2.addElement("beijing"); } while (v2.removeElement("to")); v2.printVector(); System.out.println("--------------------------------"); v.printVector(); v.remove(3); v.printVector(); System.out.println("--------------------------------"); System.out.println(v.elementAt(0)); System.out.println(v.contains(new Float(3.14))); System.out.println(v.indexOf(new Integer(5))); System.out.println(v.indexOf(new Integer(8))); System.out.println(v.lastIndexOf(new Integer(8), 6)); System.out.println("--------------------------------"); } }
    Processed: 0.016, SQL: 8