Java - Vector类


Java - Vector类

Vector实现了一个动态数组。它与ArrayList类似,但有两点不同 -

矢量是同步的。

Vector包含许多不属于集合框架的遗留方法。

如果你事先不知道数组的大小,或者只需要一个可以在程序的生命周期内改变大小的数据,那么向量证明是非常有用的。

以下是vector类提供的构造函数列表。

Sr.No. 构造函数和描述
1

Vector()

此构造函数创建一个默认向量,其初始大小为10。

2

Vector(int size)

此构造函数接受等于所需大小的参数,并创建一个初始容量由size指定的向量。

3

Vector(int size,int incr)

此构造函数创建一个向量,其初始容量由size指定,其增量由incr指定。增量指定每次向上调整向量大小时要分配的元素数。

4

Vector(Collection c)

此构造函数创建一个包含集合c的元素的向量。

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

Sr.No. 方法和描述
1

void add(int index,Object element)

将指定元素插入此Vector中的指定位置。

2

boolean add(Object o)

将指定的元素追加到此Vector的末尾。

3

boolean addAll(Collection c)

将指定Collection中的所有元素追加到此Vector的末尾,按照指定Collection的Iterator返回的顺序。

4

boolean addAll(int index,Collection c)

将指定Collection中的所有元素插入到此Vector中的指定位置。

5

void addElement(Object obj)

将指定的组件添加到此向量的末尾,将其大小增加1。

6

int capacity()

返回此向量的当前容量。

7

void clear()

从此向量中删除所有元素。

8

Object clone()

返回此向量的副本。

9

boolean contains(Object elem)

测试指定的对象是否是此向量中的组件。

10

boolean containsAll(Collection c)

如果此向量包含指定Collection中的所有元素,则返回true。

11

void copyInto(Object [] anArray)

将此向量的组件复制到指定的数组中。

12

Object elementAt(int index)

返回指定索引处的组件。

13

Enumeration elements()

返回此向量的组件的枚举。

14

void ensureCapacity(int minCapacity)

如有必要,增加此向量的容量,以确保它至少可以容纳由minimum capacity参数指定的组件数。

15

boolean equals(Object o)

将指定的Object与此向量进行比较以获得相等性。

16

Object firstElement()

返回此向量的第一个组件(索引0处的项)。

17

Object get(int index)

返回此向量中指定位置的元素。

18

int hashCode()

返回此向量的哈希码值。

19

int indexOf(Object elem)

搜索给定参数的第一次出现,使用equals方法测试相等性。

20

int indexOf(Object elem,int index)

搜索给定参数的第一次出现,开始在索引处搜索,并使用equals方法测试相等性。

21

void insertElementAt(Object obj,int index)

将指定对象作为此向量中的组件插入指定的索引处。

22

boolean isEmpty()

测试此向量是否没有组件。

23

Object lastElement()

返回向量的最后一个组件。

24

int lastIndexOf(Object elem)

返回此向量中最后一次出现的指定对象的索引。

25

int lastIndexOf(Object elem,int index)

从指定的索引开始向后搜索指定的对象,并返回索引。

26

Object remove(int index)

移除此向量中指定位置的元素。

27

boolean remove(Object o)

移除此向量中第一次出现的指定元素,如果向量不包含该元素,则不会更改。

28

boolean removeAll(Collection c)

从此向量中移除指定Collection中包含的所有元素。

29

void removeAllElements()

从此向量中移除所有组件并将其大小设置为零。

30

boolean removeElement(Object obj)

从此向量中移除参数的第一个(索引最低)事件。

31

void removeElementAt(int index)

removeElementAt(int index)。

32

protected void removeRange(int fromIndex,int toIndex)

从此List中删除索引介于fromIndex(包含)和toIndex(独占)之间的所有元素。

33

boolean retainAll(Collection c)

仅保留此向量中包含在指定Collection中的元素。

34

Object set(int index, Object element)

用指定的元素替换此向量中指定位置的元素。

35

void setElementAt(Object obj,int index)

将此向量的指定索引处的组件设置为指定的对象。

36

void setSize(int newSize)

设置此向量的大小。

37

int size()

返回此向量中的组件数。

38

List subList(int fromIndex, int toIndex)

返回此List的部分在fromIndex(包含)和toIndex(独占)之间的视图。

39

Object [] toArray()

以正确的顺序返回包含此向量中所有元素的数组。

40

Object [] toArray(Object [] a)

以正确的顺序返回包含此向量中所有元素的数组; 返回数组的运行时类型是指定数组的运行时类型。

41

String toString()

返回此向量的字符串表示形式,包含每个元素的String表示形式。

42

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(new Integer(1));
      v.addElement(new Integer(2));
      v.addElement(new Integer(3));
      v.addElement(new Integer(4));
      System.out.println("Capacity after four additions: " + v.capacity());

      v.addElement(new Double(5.45));
      System.out.println("Current capacity: " + v.capacity());

      v.addElement(new Double(6.08));
      v.addElement(new Integer(7));
      System.out.println("Current capacity: " + v.capacity());

      v.addElement(new Float(9.4));
      v.addElement(new Integer(10));
      System.out.println("Current capacity: " + v.capacity());

      v.addElement(new Integer(11));
      v.addElement(new Integer(12));
      System.out.println("First element: " + (Integer)v.firstElement());
      System.out.println("Last element: " + (Integer)v.lastElement());

      if(v.contains(new Integer(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