Vector类

这篇博客介绍了Java中的Vector类,它是一个动态数组,支持同步访问。文章提到了Vector的四种构造方法以及与ArrayList的区别。通过示例展示了如何使用Vector的增删改查操作,并输出了不同阶段的容量变化。最后,演示了如何遍历和检查Vector中的元素。
摘要由CSDN通过智能技术生成

  Vector类实现了一个动态数组,和ArrayList类似,但两者是不同的:

  • Vector是同步访问的。
  • Vector包含了许多传统的方法,这些方法不属于集合框架。
  • Vector主要用在事先不知道数组的大小,或者只是需要一个可以改变大小的数组的情况。

  Vector类支持4种构造方法,第一种构造方法创建一个默认的向量,默认大小为10

Vector();

第二种构造方法创建指定大小的向量:

Vector(int size);

第三种构造方法创建了一个向量,其初始容量是由size和由incr指定的增量决定,增量表示向量每次增加的元素数目:

Vector(int size, int incr);

第四种构造方法创建一个包含集合c元素的向量:

Vector(Collection c);

  除了从父类继承的方法外,Vector还定义了以下方法:

  • void add(int index, Object element):在此向量的指定位置插入指定的元素。
  • boolean add(Object o):将指定元素添加到此向量的末尾。
  • boolean addAll(Collection c):将指定Collection中的所有元素添加到此向量的末尾,按照指定collection的迭代器所返回的顺序添加这些元素。
  • boolean addAll(int index, Collection c):在指定位置将指定Collection中的所有元素插入到此向量中。
  • void addElement(Object obj):将指定的组件添加到此向量的末尾,将其大小增加1
  • int capacity():返回此向量的当前容量。
  • void clear():从此向量中移除所有元素。
  • Object clone():返回向量的一个副本。
  • boolean contains(Object elem):如果此向量包含指定的元素,则返回true
  • boolean containsAll(Collection c):如果此向量包含指定Collection中的所有元素,则返回true
  • void copyInto(Object[] anArray):将此向量的组件复制到指定的数组中。
  • Object elementAt(int index):返回指定索引处的组件。
  • Enumeration elements():返回此向量的组件的枚举。
  • void ensureCapacity(int minCapacity):增加此向量的容量(如有必要),以确保其至少能够保存最小容量参数指定的组件数。
  • boolean equals(Object o):比较指定对象与此向量的相等性。
  • Object firstElement():返回此向量的第一个组件(位于索引0)处的项。
  • Object get(int index):返回向量中指定位置的元素。
  • int hashCode():返回此向量的哈希码值。
  • int indexOf(Object elem):返回此向量中第一次出现的指定元素的索引,如果此向量不包含该元素,则返回-1
  • int indexOf(Object elem, int index):返回此向量中第一次出现的指定元素的索引,从index处正向搜索,如果未找到该元素,则返回-1
  • void insertElementAt(Object obj, int index):将指定对象作为此向量中的组件插入到指定的index处。
  • boolean isEmpty():测试此向量是否不包含组件。
  • Object lastElement():返回此向量的最后一个组件。
  • int lastIndexOf(Object elem):返回此向量中最后一次出现的指定元素的索引;如果此向量不包含该元素,则返回-1
  • int lastIndexOf(Object elem, int index):返回此向量中最后一次出现的指定元素的索引,从index处逆向搜索,如果未找到该元素,则返回-1
  • Object remove(int index):移除此向量中指定位置的元素。
  • boolean remove(Object o):移除此向量中指定元素的第一个匹配项,如果向量不包含该元素,则元素保持不变。
  • boolean removeAll(Collection c):从此向量中移除包含在指定Collection中的所有元素。
  • void removeAllElements():从此向量中移除全部组件,并将其大小设置为0
  • boolean removeElement(Object obj):从此向量中移除变量的第一个(索引最小的)匹配项。
  • void removeElementAt(int index):删除指定索引处的组件。
  • protected void removeRange(int fromIndex, int toIndex):从此List中移除其索引位于fromIndex(包括)与toIndex(不包括)之间的所有元素。
  • boolean retainAll(Collection c):在此向量中仅保留包含在指定Collection中的元素。
  • Object set(int index, Object element):用指定的元素替换此向量中指定位置处的元素。
  • void setElementAt(Object obj, int index):将此向量指定index处的组件设置为指定的对象。
  • void setSize(int newSize):设置此向量的大小。
  • int size():返回此向量中的组件数。
  • List subList(int fromIndex, int toIndex):返回此List的部分视图,元素范围为从fromIndex(包括)到toIndex(不包括)。
  • Object[] toArray():返回一个数组,包含此向量中以恰当顺序存放的所有元素。
  • Object[] toArray(Object[] a):返回一个数组,包含此向量中以恰当顺序存放的所有元素,数组的运行时类型为指定数组的类型。
  • String toString():返回此向量的字符串表示形式,其中包含每个元素的String表示形式。
  • void trimToSize():对此向量的容量进行微调,使其等于向量的当前大小。
import java.util.*;

public class VectorDemo {
    public static void main(String args[]) {
        /* initial size is 3, increment is 2 */
        Vector v = new Vector(3, 2);
        System.out.println("Initial size: " + v.size());
        System.out.println("Initial capacity: " + v.capacity());
        v.addElement(1);
        v.addElement(2);
        v.addElement(3);
        v.addElement(4);
        System.out.println("Capacity after four additions: " + v.capacity());

        v.addElement(5.45);
        System.out.println("Current capacity: " + v.capacity());
        v.addElement(6.08);
        v.addElement(7);
        System.out.println("Current capacity: " + v.capacity());
        v.addElement(9.4);
        v.addElement(10);
        System.out.println("Current capacity: " + v.capacity());
        v.addElement(11);
        v.addElement(12);
        System.out.println("First element: " + v.firstElement());
        System.out.println("Last element: " + v.lastElement());

        if (v.contains(3))
            System.out.println("Vector contains 3.");

        /* enumerate the elements in the vector */
        Enumeration vEnum = v.elements();
        System.out.println("\nElements in vector:");

        while (vEnum.hasMoreElements())
            System.out.print(vEnum.nextElement() + " ");

        System.out.println();
    }
}

执行结果:

Initial size: 0
Initial capacity: 3
Capacity after four additions: 5
Current capacity: 5
Current capacity: 7
Current capacity: 9
First element: 1
Last element: 12
Vector contains 3.

Elements in vector:
1 2 3 4 5.45 6.08 7 9.4 10 11 12
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值