码迷,mamicode.com
首页 > 编程语言 > 详细

Java学习笔记27

时间:2015-03-06 23:42:13      阅读:354      评论:0      收藏:0      [点我收藏+]

标签:vector   集合   list   java   线程安全   

Vector是List接口的实现类,支持List接口的全部功能,Vector类是基于数组实现的List类,在内部封装了一个动态的、


允许再分配的Object[]数组,Vector是线程安全的,无须程序保证该集合的同步性。


以下是Vector类的一部分方法使用说明:


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 中)
		 * 替换为一个较大的数组来增加其容量。新数据数组的大小将为原来的大小加上 capacityIncrement,
		 * 除非 capacityIncrement 的值小于等于零,在后一种情况下,新的容量将为原来容量的两倍,
		 * 不过,如果此大小仍然小于 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
		
		/*
		 * 返回此向量的第一个组件(位于索引 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;
		 * 如果没有这样的索引,则返回 -1。 
		 */
		System.out.println(vector.indexOf("JACK"));//输出:1
		
		/*
		 * 返回此向量中第一次出现的指定元素的索引,从 index 处正向搜索,
		 * 如果未找到该元素,则返回 -1。
		 * 如果指定索引为负数,抛出IndexOutOfBoundsException异常
		 */
		System.out.println(vector.indexOf("JACK", 2));//输出:3
		
		
		/*
		 * 将指定对象作为此向量中的组件插入到指定的 index 处。
		 * 此向量中的每个索引大于等于指定 index 的组件都将向上移位,
		 * 使其索引值变成比以前大 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
		 * ;如果没有这样的索引,则返回 -1。 
		 */
		System.out.println(vector.lastIndexOf("JACK"));//输出:4
		
		
		/*
		 * 移除此向量中指定位置的元素。将所有后续元素左移(将其索引减 1)。返回此向量中移除的元素。 
		 * 如果索引超出范围 (index < 0 || index >= size()),抛出ArrayIndexOutOfBoundsException 异常
		 */
		vector.remove(0);
		//输出:[WORD, JACK, MARRAY, JACK]
		System.out.println(vector);
		
		
		
		/*
		 * 移除此向量中指定元素的第一个匹配项,如果向量不包含该元素,则元素保持不变。
		 * 更确切地讲,移除其索引 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  情绪控_ 

Java学习笔记27

标签:vector   集合   list   java   线程安全   

原文地址:http://blog.csdn.net/hai_qing_xu_kong/article/details/44106381

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!