Java学习笔记26

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  情绪控_

时间: 2024-12-29 11:31:54

Java学习笔记26的相关文章

Java学习笔记_25_Collections类

25.Collections类: Collections类是一个工具类,用来对集合进行操作,它主要是提供一些排序算法,包括随机排序.反相排序等. Collections类提供了一些静态方法,实现了基于List容器的一些常用算法. Collections的一些方法列表: · void sort(List): 对List内的元素进行排序. · void shuffle(List): 对List内的元素随机排序. · void reverse(List): 对List内的元素进行逆序排列. · voi

java学习笔记3——java关键字

java学习笔记3——java关键字 虽然老师说不用刻意的去记忆,但是我还是在网上找到了非常详细的注解,再次收藏 关键字的类型表: 各个关键字的详细注解和实例,按首字母排序: 1.abstract abstract 关键字可以修改类或方法. abstract 类可以扩展(增加子类),但不能直接实例化. abstract 方法不在声明它的类中实现,但必须在某个子类中重写. -示例- public abstract class MyClass{ } public abstract String my

【Java学习笔记之二十六】深入理解Java匿名内部类

在[Java学习笔记之二十五]初步认知Java内部类中对匿名内部类做了一个简单的介绍,但是内部类还存在很多其他细节问题,所以就衍生出这篇博客.在这篇博客中你可以了解到匿名内部类的使用.匿名内部类要注意的事项.如何初始化匿名内部类.匿名内部类使用的形参为何要为final. 一.使用匿名内部类内部类 匿名内部类由于没有名字,所以它的创建方式有点儿奇怪.创建格式如下: new 父类构造器(参数列表)|实现接口() { //匿名内部类的类体部分 } 在这里我们看到使用匿名内部类我们必须要继承一个父类或者

Java学习笔记之继承

一.继承的基础 在Java术语中,被继承的类叫超类(superclass),继承超类的类叫子类(subclass). 举例说明: 1 class Box 2 { 3 public double width; 4 public double height; 5 public double depth; 6 7 //重载构造方法 8 public Box(Box ob) 9 { 10 width = ob.width; 11 height = ob.height; 12 depth = ob.dep

Java学习笔记之接口

一.接口的概念与定义 首先考虑一个简单的接口的定义: public interface Output { int MAX_LINE = 40; void out(); void getData(String msg); } 定义接口使用关键字interface 修饰符interface前面的public可以省略,如果省略,则采用默认访问控制,即只有在相同包结构的代码才可以访问此接口 接口不可以有构造方法(区别于类中的构造方法) 接口里面的所有成员,包括常量.方法等都是public访问权限,所以在

java学习笔记13--比较器(Comparable、Comparator)

java学习笔记13--比较器(Comparable.Comparator) 分类: JAVA 2013-05-20 23:20 3296人阅读 评论(0) 收藏 举报 Comparable接口的作用 之前Arrays类中存在sort()方法,此方法可以直接对对象数组进行排序. Comparable接口 可以直接使用java.util.Arrays类进行数组的排序操作,但对象所在的类必须实现Comparable接口,用于指定排序接口. Comparable接口的定义如下: public  int

Java学习笔记_19_String类

19.String类: 1>String类的构造方法: · 利用字符串构造一个字符串对象: String str = "HelloWorld": · 无参构造一个字符串对象: String str = new String(); · 传递参数生成一个字符串对象: String str = new String("HelloWorld"); · 由字符数组生成一个字符串对象: String str = new String(char s[ ]); · 由字符数组

Java学习笔记之方法重载,动态方法调度和抽象类

一.方法重载 如果子类中的方法与它的超类中的方法有相同的方法名,则称子类中的方法重载超类中的方法,特别是当超类和子类中的方法名和参数类型都相同时,在子类中调用该方法时,超类中的方法会被隐藏.考虑下面程序: 1 class A 2 { 3 int i, j; 4 A(int a, int b) 5 { 6 i = a; 7 j = b; 8 } 9 10 // display i and j 11 void show() 12 { 13 System.out.println("i and j: &

Java学习笔记——动态代理

所谓动态,也就是说这个东西是可变的,或者说不是一生下来就有的.提到动态就不得不说静态,静态代理,个人觉得是指一个代理在程序中是事先写好的,不能变的,就像上一篇"Java学习笔记--RMI"中的远程代理,其中客户端服务对象就是一个远程服务对象的代理,这个代理可以使得客户在操作时感觉像在操作本地对象一样,远程对象对于客户是透明的.我们可以看出这里的远程代理,是在程序中事先写好的,而本节我们要讨论的远程代理,是由JVM根据反射机制,在程序运行时动态生成的.(以上是本人的理解,如果有不正确的地