Vector是List接口的实现类,支持List接口的全部功能,Vector类是基于数组实现的List类,在内部封装了一个动态的、
允许再分配的Object[]数组,Vector是线程安全的,无须程序保证该集合的同步性。
以下是Vector类的一部分方法使用说明:
public class Main { public static void main(String[] args) { Vector vector = new Vector(); vector.add("BILL"); vector.add("JACK"); // 输出:[BILL, JACK] System.out.println(vector); // 输出:vector容量:10 System.out.println("vector容量:" + vector.capacity()); /* * 设置此向量的大小。如果新大小大于当前大小, 则会在向量的末尾添加相应数量的 null 项。 如果新大小小于当前大小,则丢弃索引 * newSize 处及其之后的所有项。 如果新大小为负数,抛出ArrayIndexOutOfBoundsException 异常 */ vector.setSize(21); // 输出:vector容量:21 System.out.println("vector容量:" + vector.capacity()); /* * 返回此向量的容量 */ System.out.println(vector.size());// 输出:21 /* * 返回此 List 的部分视图,元素范围为从 fromIndex(包括)到 toIndex(不包括)。 (如果 fromIndex 和 * toIndex 相等,则返回的 List 将为空)。 返回的 List 由此 List 支持,因此返回 List 中的更改将反映在此 * List 中,反之亦然。 返回的列表支持此列表支持的所有可选列表操作。 */ List list = (List) vector.subList(0, 1); // 输出:[BILL] System.out.println(list.toString()); /* * 返回一个数组,包含此向量中以恰当顺序存放的所有元素。 */ Object[] obj = (Object[]) vector.toArray(); // 输出:BILL JAC null null null null null null // null null null null null null null null null // null null null null for (Object ob : obj) { System.out.println(ob); } vector.setSize(5);// 设置向量容量为5 String[] str = new String[6]; /* * 返回一个数组,包含此向量中以恰当顺序存放的所有元素; 返回数组的运行时类型为指定数组的类型。 如果向量能够适应指定的数组,则返回该数组。 * 否则使用此数组的运行时类型和此向量的大小分配一个新数组。 注意:当返回的数组大小小于向量的容量时,返回为null的数组; * 当返回的数组的大小和向量的容量相等,将向量元素放入数组中; 如果返回的数组的大小比向量的容量还要大,将向量元素放入数组中, * 后面剩余的位置为null。 */ vector.toArray(str); // 输出:[BILL, JACK, null, null, null, null] System.out.println(Arrays.toString(str)); /* * 返回此向量的字符串表示形式,其中包含每个元素的 String 表示形式。 */ // 输出:[BILL, JACK, null, null, null] System.out.println(vector.toString()); /* * 对此向量的容量进行微调,使其等于向量的当前大小。 */ vector.trimToSize(); // 输出:5 System.out.println(vector.capacity()); /* * 将此向量指定 index 处的组件设置为指定的对象。丢弃该位置以前的组件。 如果索引超出范围 (index < 0 || index >= * size()), 抛出ArrayIndexOutOfBoundsException异常 */ vector.setElementAt("Marry", 3); // 输出:[BILL, JACK, null, Marry, null] System.out.println(vector); /* * 用指定的元素替换此向量中指定位置处的元素。 如果索引超出范围 (index < 0 || index >= size()) * 抛出ArrayIndexOutOfBoundsException异常 */ vector.set(3, "Change"); // 输出:[BILL, JACK, null, Change, null] System.out.println(vector); /* * 从此向量中移除全部组件,并将其大小设置为零。 */ vector.removeAllElements(); System.out.println(vector.size());//输出0 } }
原文:http://blog.csdn.net/hai_qing_xu_kong/article/details/44119233