Java学习笔记27
来源:程序员人生 发布时间:2015-03-27 08:18:56 阅读次数:2365次
Vector是List接口的实现类,支持List接口的全部功能,Vector类是基于数组实现的List类,在内部封装了1个动态的、
允许再分配的Object[]数组,Vector是线程安全的,不必程序保证该集合的同步性。
以下是Vector类的1部份方法使用说明:
public class Main {
public static void main(String[] args) {
Vector vector=new Vector();
ArrayList list=new ArrayList();
list.add("BILL");
vector.add(list);
//输出:[[BILL]]
System.out.println(vector);
//输出:vector容量:10
System.out.println("vector容量:"+vector.capacity());
/*
* 增加此向量的容量(如有必要),以确保其最少能够保存最小容量参数指定的组件数。
* 如果此向量确当前容量小于 minCapacity,则通过将其内部数据数组(保存在字段 elementData 中)
* 替换为1个较大的数组来增加其容量。新数据数组的大小将为原来的大小加上 capacityIncrement,
* 除非 capacityIncrement 的值小于等于零,在后1种情况下,新的容量将为原来容量的两倍,
* 不过,如果此大小依然小于 minCapacity,则新容量将为 minCapacity。
*/
vector.ensureCapacity(21);
//输出:vector容量:21
System.out.println("vector容量:"+vector.capacity());
Vector vector1=new Vector();
vector1.add(list);
/*
* 如果指定的 Object 与此向量相等,则返回 true
*/
System.out.println(vector.equals(vector1));//输出:true
/*
* 返回此向量的第1个组件(位于索引 0) 处的项)。
*/
System.out.println(vector.firstElement());//输出:[BILL]
/*
* 返回向量中指定位置的元素。
* 如果索引超越范围 (index < 0 || index >= size()),抛出ArrayIndexOutOfBoundsException 异常
*/
System.out.println(vector.get(0));//输出:[BILL]
/*
* 返回此向量的哈希码值。
*/
System.out.println(vector.hashCode());
vector.add("JACK");
vector.add("MARRAY");
vector.add("JACK");
//输出:[[BILL], JACK, MARRAY, JACK]
System.out.println(vector);
/*
* 返回此向量中第1次出现的指定元素的索引,如果此向量不包括该元素,则返回 ⑴。更确切地讲,
* 返回满足 (o==null ? get(i)==null : o.equals(get(i))) 的最低索引 i;
* 如果没有这样的索引,则返回 ⑴。
*/
System.out.println(vector.indexOf("JACK"));//输出:1
/*
* 返回此向量中第1次出现的指定元素的索引,从 index 处正向搜索,
* 如果未找到该元素,则返回 ⑴。
* 如果指定索引为负数,抛出IndexOutOfBoundsException异常
*/
System.out.println(vector.indexOf("JACK", 2));//输出:3
/*
* 将指定对象作为此向量中的组件插入到指定的 index 处。
* 此向量中的每一个索引大于等于指定 index 的组件都将向上移位,
* 使其索引值变成比之前大 1 的值。 索引必须为1个大于等于 0 且
* 小于等于向量当前大小的值(如果索引等于向量确当前大小,
* 则将新元素添加到向量)。
* 如果索引超越范围 (index < 0 || index > size()),抛出ArrayIndexOutOfBoundsException异常
*/
vector.insertElementAt("WORD", 1);
//输出:[[BILL], WORD, JACK, MARRAY, JACK]
System.out.println(vector);
/*
* 当且仅当此向量没有组件(也就是说其大小为零)时返回 true;否则返回 false。
*/
System.out.println(vector.isEmpty());//输出:false
/*
* 返回此向量中最后1次出现的指定元素的索引;如果此向量不包括该元素,则返回 ⑴。更确切地讲,
* 返回满足 (o==null ? get(i)==null : o.equals(get(i))) 的最高索引 i
* ;如果没有这样的索引,则返回 ⑴。
*/
System.out.println(vector.lastIndexOf("JACK"));//输出:4
/*
* 移除此向量中指定位置的元素。将所有后续元素左移(将其索引减 1)。返回此向量中移除的元素。
* 如果索引超越范围 (index < 0 || index >= size()),抛出ArrayIndexOutOfBoundsException 异常
*/
vector.remove(0);
//输出:[WORD, JACK, MARRAY, JACK]
System.out.println(vector);
/*
* 移除此向量中指定元素的第1个匹配项,如果向量不包括该元素,则元素保持不变。
* 更确切地讲,移除其索引 i 满足 (o==null ? get(i)==null : o.equals(get(i)))
* 的元素(如果存在这样的元素)。
*/
System.out.println(vector.remove("WORD"));
System.out.println(vector);//输出:[JACK, MARRAY, JACK]
}
}
关于Vector的更多方法,请参看后续的文章
转载请注明出处:http://blog.csdn.net/hai_qing_xu_kong/article/details/44106381 情绪控_
生活不易,码农辛苦
如果您觉得本网站对您的学习有所帮助,可以手机扫描二维码进行捐赠