Java中vector用法整理

ArrayList会比Vector快,他是非同步的,如果设计涉及到多线程,还是用Vector比较好一些 
import java.util.*;

/** 
* 演示Vector的使用。包括Vector的创建、向Vector中添加元素、从Vector中删除元素、 
* 统计Vector中元素的个数和遍历Vector中的元素。 
*/

public class VectorDemo{ 
public static void main(String[] args){

//Vector的创建 
//使用Vector的构造方法进行创建 
Vector v = new Vector(4);

//向Vector中添加元素 
//使用add方法直接添加元素 
v.add("Test0"); 
v.add("Test1"); 
v.add("Test0"); 
v.add("Test2"); 
v.add("Test2");

//从Vector中删除元素 
v.remove("Test0"); //删除指定内容的元素 
v.remove(0); //按照索引号删除元素

//获得Vector中已有元素的个数 
int size = v.size(); 
System.out.println("size:" + size);

//遍历Vector中的元素 
for(int i = 0;i < v.size();i++){ 
System.out.println(v.get(i)); 



------------- 
Vector 类提供了实现可增长数组的功能,随着更多元素加入其中,数组变的更大。在删除一些元素之后,数组变小。 
Vector 有三个构造函数, 
public Vector(int initialCapacity,int capacityIncrement)          public Vector(int initialCapacity)          public Vector()   Vector 运行时创建一个初始的存储容量initialCapacity,存储容量是以capacityIncrement 变量定义的增量增长。初始的存储容量和capacityIncrement 可以在Vector 的构造函数中定义。第二个构造函数只创建初始存储容量。第三个构造函数既不指定初始的存储容量也不指定capacityIncrement。   Vector 类提供的访问方法支持类似数组运算和与Vector 大小相关的运算。类似数组的运算允许向量中增加,删除和插入元素。它们也允许测试矢量的内容和检索指定的元素,与大小相关的运算允许判定字节大小和矢量中元素不数目。   现针对经常用到的对向量增,删,插功能举例描述: 
addElement(Object obj)     把组件加到向量尾部,同时大小加1,向量容量比以前大1   
insertElementAt(Object obj, int index)     把组件加到所定索引处,此后的内容向后移动1 个单位   
setElementAt(Object obj, int index)   把组件加到所定索引处,此处的内容被代替。   removeElement(Object obj) 把向量中含有本组件内容移走。   removeAllElements() 把向量中所有组件移走,向量大小为0。   

例如:

import java.lang.System;

import java.util.Vector;

import java.util.Emumeration;

public class Avector{                 

public static void main(String args[]) { 
  0.Vector v=new Vector(); 
  1. v.addElement("one"); 
  2. addElement("two"); 
  3. v.addElement("three"); 
  4. v.insertElementAt("zero",0); 
  5. v.insertElementAt("oop",3); 
  6. v.setElementAt("three",3); 
  7. v.setElementAt("four",4); 
  8. v.removeAllElements(); 
  } 

Vector中的变化情况: 
1. one   2. one   3. one   4. zero   5.zero   6. zero  7. zero 8.       two   two  one   one   one   one            three   two   two   two   two  three   oop   three  three  three   three  four     另外,Vector 在参数传递中发挥着举足轻重的作用。在Applet 中有一块画布(Canvas) 和一个(Panel), 而Panel 中放着用户要输入的信息,根据这些信息把参数传递到canvas 中,这时在Java 中用一个接口(Interface), 而在接口中需用一个Vector 去传递这些参数。另外,在一个类向另一个类参数传递就可以用这种方法。   例如:   
import java.util.Vector 
interface codeselect{ Vector codeselect=new Vector(); } 显示数学信息 
Vector(0)存入学生编号 
Vector(1)存入学科     在Panel 中当用户在TextField 和Choice 中选择自己所要求的内容,程序中通过事件响应把值传到向量Vector 中。

同步是个很大的问题,尤其多线程,和进程中,因此,我们在多线程中同时对某个数组操作时,支持同步的vector无疑是个很好的选择,一般在需要将多个元素存在一个集合里的时候用。
java.util 类 Vector<E> 
boolean add(E o) 
将指定元素追加到此向量的末尾。 
void add(int index, E element) 
在此向量的指定位置插入指定的元素。 
boolean addAll(Collection<? extends E> c) 
将指定 Collection 中的所有元素追加到此向量的末尾,按照指定集合的迭代器所返回的顺序追加这些元素。 
boolean addAll(int index, Collection<? extends E> c) 
在指定位置将指定 Collection 中的所有元素插入到此向量中。 
void addElement(E obj) 
将指定的组件添加到此向量的末尾,将其大小增加 1。 
int capacity() 
返回此向量的当前容量。 
void clear() 
从此向量中移除所有元素。 
Object clone() 
返回向量的一个副本。 
boolean contains(Object elem) 
测试指定的对象是否为此向量中的组件。 
boolean containsAll(Collection<?> c) 
如果此向量包含指定 Collection 中的所有元素,则返回 true。 
void copyInto(Object[] anArray) 
将此向量的组件复制到指定的数组中。 
E elementAt(int index) 
返回指定索引处的组件。 
Enumeration<E> elements() 
返回此向量的组件的枚举。 
void ensureCapacity(int minCapacity) 
增加此向量的容量(如有必要),以确保其至少能够保存最小容量参数指定的组件数。 
boolean equals(Object o) 
比较指定对象与此向量的相等性。 
E firstElement() 
返回此向量的第一个组件(位于索引 0 处的项)。 
E get(int index) 
返回向量中指定位置的元素。 
int hashCode() 
返回此向量的哈希码值。 
int indexOf(Object elem) 
搜索给定参数的第一个匹配项,使用 equals 方法测试相等性。 
int indexOf(Object elem, int index) 
搜索给定参数的第一个匹配项,从 index 处开始搜索,并使用 equals 方法测试其相等性。 
void insertElementAt(E obj, int index) 
将指定对象作为此向量中的组件插入到指定的 index 处。 
boolean isEmpty() 
测试此向量是否不包含组件。 
E lastElement() 
返回此向量的最后一个组件。 
int lastIndexOf(Object elem) 
返回指定的对象在此向量中最后一个匹配项的索引。 
int lastIndexOf(Object elem, int index) 
向后搜索指定的对象,从指定的索引处开始搜索,并返回一个索引。 
E remove(int index) 
移除此向量中指定位置的元素。 
boolean remove(Object o) 
移除此向量中指定元素的第一个匹配项,如果向量不包含该元素,则元素保持不变。 
boolean removeAll(Collection<?> c) 
从此向量中移除包含在指定 Collection 中的所有元素。 
void removeAllElements() 
从此向量中移除全部组件,并将其大小设置为零。 
boolean removeElement(Object obj) 
从此向量中移除变量的第一个(索引最小的)匹配项。 
void removeElementAt(int index) 
删除指定索引处的组件。 
protected void removeRange(int fromIndex, int toIndex) 
从此 List 中移除其索引位于 fromIndex(包括)与 toIndex(不包括)之间的所有元素。 
boolean retainAll(Collection<?> c) 
在此向量中仅保留包含在指定 Collection 中的元素。 
E set(int index, E element) 
用指定的元素替换此向量中指定位置处的元素。 
void setElementAt(E obj, int index) 
将此向量指定 index 处的组件设置为指定的对象。 
void setSize(int newSize) 
设置此向量的大小。 
int size() 
返回此向量中的组件数。 
List<E> subList(int fromIndex, int toIndex) 
返回此 List 的部分视图,元素范围为从 fromIndex(包括)到 toIndex(不包括)。 
Object[] toArray() 
返回一个数组,包含此向量中以正确顺序存放的所有元素。 
<T> T[] 
toArray(T[] a) 
返回一个数组,包含此向量中以正确顺序存放的所有元素;返回数组的运行时类型为指定数组的类型。 
String toString() 
返回此向量的字符串表示形式,其中包含每个元素的 String 表示形式。 
void trimToSize() 
对此向量的容量进行微调,使其等于向量的当前大小。

时间: 2024-08-03 21:12:10

Java中vector用法整理的相关文章

Java中Iterator用法整理

迭代器(Iterator) 迭代器是一种设计模式,它是一个对象,它可以遍历并选择序列中的对象,而开发人员不需要了解该序列的底层结构.迭代器通常被称为"轻量级"对象,因为创建它的代价小. Java中的Iterator功能比较简单,并且只能单向移动: (1) 使用方法iterator()要求容器返回一个Iterator.第一次调用Iterator的next()方法时,它返回序列的第一个元素.注意:iterator()方法是java.lang.Iterable接口,被Collection继承

java中反射学习整理

转载请注明:http://blog.csdn.net/j903829182/article/details/38405735 反射主要是指程序可以访问,检测和修改它本身的状态或行为的一种能力. java中反射是一种强大的工具,它能够创建灵活的代码,这些代码可以在运行时装载,无须在组件之间进行链接.反射允许在编写与执行时,使程序能够接入到jvm中的类的内部信息,而不是源代码中选定的类协作的代码.这使反射成为构建灵活应用代码的主要工具.需要注意的是,如果使用不当,反射的成本会很高. package

Java中vector的使用方法

Vector的使用 vector类底层数组结构的,它包含可以使用整数索引进行访问的组件.不过,vector的大小可以根据需要增大或缩小,以适应创建vector后进行添加或移除项的操作,因此不需要考虑元素是否越界或者会不会浪费内存的问题. 由vector的iterator和listIterator方法所返回的迭代器是快速失败的:也即是它不能并发执行操作.如果在迭代器创建后的任意时间从结构上修改了向量(通过迭代器自身的remove或add方法之外的任何其他方式),则迭代器将抛出ConcurrentM

JAVA中ArrayList用法

JAVA中ArrayList用法 2011-07-20 15:02:03|  分类: 计算机专业 |  标签:java  arraylist用法  |举报|字号 订阅 Java学习过程中做题时,用到ArrayList,在网上寻找到的学习资料.   摘自:     http://www.cnblogs.com/skylaugh/archive/2006/09/15/505346.html System.Collections.ArrayList类是一个特殊的数组.通过添加和删除元素,就可以动态改变

Java中Vector和ArrayList的区别

首先看这两类都实现List接口,而List接口一共有三个实现类,分别是ArrayList.Vector和LinkedList.List用于存放多个元素,能够维护元素的次序,并且允许元素的重复. 3个具体实现类的相关区别如下: ArrayList是最常用的List实现类,内部是通过数组实现的,它允许对元素进行快速随机访问.数组的缺点是每个元素之间不能有间隔,当数组大小不满足时需要增加存储能力,就要讲已经有数组的数据复制到新的存储空间中.当从ArrayList的中间位置插入或者删除元素时,需要对数组

java中vector和array区别

java中vector和数组非常类似,两者之间也经常成对出现,下面是两者的比较: 1.数组:java arrays的元素个数不能下标越界,从很大程度上保证了java程序的安全性,但创建时必须指定数组的大小,并不能再改变. 2.vector:对比于array,当更多的元素被加入进来以至超出其容量时,vector的size会动态增长,而array容量是定死的.同时,vector在删除一些元素后,其所有下标大于被删除元素的元素都依次前移,并获得新下标比原来的小了).

数据结构在Java中的用法(持续更新...)

今天做了Medallia公司的Java面试题,发现用惯了C/C++之后对Java感到异常地不适应,特别是对数据结构在Java中如何使用感到十分头疼,于是开始整理并练习Java API里头关于数据结构的使用方法.甲骨文的Java API对每一种数据结构只提供解释但没有提供相关的例子,很不方便,因为大多数时候我们都是通过读例子来学习用法,这也是我学C++觉得最有用的方法. Vector 甲骨文API:"The Vector class implements a growable array of o

Java中instanceof用法

java 中的instanceof 运算符是用来在运行时指出对象是否是特定类的一个实例.instanceof通过返回一个布尔值来指出,这个对象是否是这个特定类或者是它的子类的一个实例. 用法:result = object instanceof class参数:Result:布尔类型.Object:必选项.任意对象表达式.Class:必选项.任意已定义的对象类.说明:如果object 是class 的一个实例,则instanceof 运算符返回true.如果object 不是指定类的一个实例,或

Java中vector的使用详解

Vector 可实现自动增长的对象数组. java.util.vector提供了向量类(vector)以实现类似动态数组的功能.在Java语言中没有指针的概念,但如果正确灵活地使用指针又确实可以大大提高程序的质量.比如在c,c++中所谓的“动态数组”一般都由指针来实现.为了弥补这个缺点,Java提供了丰富的类库来方便编程者使用,vector类便是其中之一.事实上,灵活使用数组也可以完成向量类的功能,但向量类中提供大量的方法大大方便了用户的使用.     创建了一个向量类的对象后,可以往其中随意插