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

Java学习笔记26

时间:2015-03-05 23:44:43      阅读:283      评论:0      收藏:0      [点我收藏+]

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

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


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


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

public class Main {
	public static void main(String[] args) {
		Vector vector=new Vector();
		
		/*
		 * 将指定元素添加到此向量的末尾。
		 */
		vector.add("Bill");
		//输出:[Bill]
		System.out.println(vector);
		
		/*
		 * 在此向量的指定位置插入指定的元素。将当前位于该位置的元素(如果有)及所有后续元素右移(将其索引加 1)。 
		 * 如果索引超出范围 (index < 0 || index > size()),抛出ArrayIndexOutOfBoundsException异常
		 */
		vector.add(1, "Jack");
		//输出:[Bill, Jack]
		System.out.println(vector);
		
		List list=new ArrayList();
		list.add(1);
		list.add(2);
		/*
		 * 将指定 Collection 中的所有元素添加到此向量的末尾,按照指定 collection 的迭代器所返回的顺序添加这些元素。
		 * 如果指定的 Collection 在操作过程中被修改,则此操作的行为是不确定的(这意味着如果指定的 Collection 是此向量,
		 * 而此向量不为空,则此调用的行为是不确定的)。 
		 *  如果指定 collection 为 null抛出NullPointerException异常
		 */
		vector.addAll(list);
		//输出:[Bill, Jack, 1, 2]
		System.out.println(vector);
		
		List list1=new ArrayList();
		list1.add("Hello");
		/*
		 * 在指定位置将指定 Collection 中的所有元素插入到此向量中。将当前位于该位置的元素(如果有)
		 * 及所有后续元素右移(增大其索引值)。
		 * 新元素在向量中按照其由指定 collection 的迭代器所返回的顺序出现。
		 * 如果索引超出范围 (index < 0 || index > size()) 抛出ArrayIndexOutOfBoundsException 异常
		 * 如果指定的 collection 为 null,抛出NullPointerException 异常
		 */
		vector.addAll(0,list1 );
		//输出:[Hello, Bill, Jack, 1, 2]
		System.out.println(vector);
		
		/*
		 * 将指定的组件添加到此向量的末尾,将其大小增加 1。如果向量的大小比容量大,则增大其容量。 
		 */
		vector.addElement("Marray");
		System.out.println(vector);
		
		/*
		 * 返回此向量的当前容量。 
		 */
		System.out.println(vector.capacity());
		
		/*
		 * 返回向量的一个副本。副本中将包含一个对内部数据数组副本的引用,
		 * 而非对此 Vector 对象的原始内部数据数组的引用。
		 */
		Vector vector1=(Vector) vector.clone();
		vector.add("ADD");
		//输出:vector1--->[Hello, Bill, Jack, 1, 2, Marray]
		System.out.println("vector1--->"+vector1);
		//输出:vector--->[Hello, Bill, Jack, 1, 2, Marray, ADD]
		System.out.println("vector--->"+vector);
		
		/*
		 * 从此向量中移除所有元素。此调用返回后,向量将为空(除非抛出了异常)。 
		 */
		vector1.clear();
		//输出:[]
		System.out.println(vector1);
		
		/*
		 * 如果此向量包含指定的元素,则返回 true。更确切地讲,
		 * 当且仅当此向量至少包含一个满足 (o==null ? e==null : o.equals(e)) 
		 * 的元素 e 时,返回 true。 
		 */
		System.out.println(vector.contains("Word"));//输出:false
		//输出:true
		System.out.println(vector.contains("Marray"));
		
		/*
		 * 如果此向量包含指定的元素,则返回 true。更确切地讲,
		 * 当且仅当此向量至少包含一个满足 (o==null ? e==null : o.equals(e))
		 *  的元素 e 时,返回 true。 
		 */
		System.out.println(vector.containsAll(list1));//输出:true
		
		
		Object[] str = new Object[10];
		/*
		 * 将此向量的组件复制到指定的数组中。此向量中索引 k 处的项将复制到 anArray 的组件 k 中。
		 * 如果给定的数组为 null ,抛出NullPointerException 异常
		 * 如果指定数组不够大,不能够保存此向量中的所有组件 ,抛出IndexOutOfBoundsException异常
		 * 如果此向量的组件不属于可在指定数组中存储的运行时类型,抛出ArrayStoreException异常
		 */
		vector.copyInto(str);
		//输出:[Hello, Bill, Jack, 1, 2, Marray, ADD, null, null, null]
		System.out.println(Arrays.toString(str));
		
		/*
		 * 返回指定索引处的组件。 
		 * 如果该索引超出范围 (index < 0 || index >= size())抛出ArrayIndexOutOfBoundsException 异常
		 */
		System.out.println(vector.elementAt(1));//输出:Bill
		
		
		/*
		 * 返回此向量的组件的枚举。返回的 Enumeration 对象将生成此向量中的所有项。
		 * 生成的第一项为索引 0 处的项,然后是索引 1 处的项,依此类推。
		 */
		Enumeration enumeration=vector.elements();
		while(enumeration.hasMoreElements()){
			//输出:Hello  Bill  Jack  1  2   Marray  ADD
			System.out.println(enumeration.nextElement());
		}
		
		
	}
}


转载请注明出处:http://blog.csdn.net/hai_qing_xu_kong/article/details/44087951  情绪控_ 

Java学习笔记26

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

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

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