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() 
对此向量的容量进行微调,使其等于向量的当前大小。

转载自:http://www.cnblogs.com/strivers/archive/2010/12/28/1918877.html

java.util.vector中的vector的详细用法的更多相关文章

  1. 【转】java.util.vector中的vector的详细用法

    [转]java.util.vector中的vector的详细用法 ArrayList会比Vector快,他是非同步的,如果设计涉及到多线程,还是用Vector比较好一些 import java.uti ...

  2. [Java] java.util.Arrays 中使用的 sort 采用的算法 (转)

    http://book.douban.com/annotation/15154366/Q: java.util.Arrays 中使用的 sort 采用的是什么算法?   A: java中Arrays. ...

  3. 集合框架的类和接口均在java.util包中。 任何对象加入集合类后,自动转变为Object类型,所以在取出的时候,需要进行强制类型转换。

    集合框架的类和接口均在java.util包中. 任何对象加入集合类后,自动转变为Object类型,所以在取出的时候,需要进行强制类型转换.

  4. [Google Guava] 2.3-强大的集合工具类:java.util.Collections中未包含的集合工具

    原文链接 译文链接 译者:沈义扬,校对:丁一 尚未完成: Queues, Tables工具类 任何对JDK集合框架有经验的程序员都熟悉和喜欢java.util.Collections包含的工具方法.G ...

  5. java.util.concurrent中的常用组件

    一. CountDownLatch 一个同步辅助类,在完成一组正在其他线程中执行的操作之前,它允许一个或多个线程一直等待. CountDownLatch的一个非常典型的应用场景是:有一个任务想要往下执 ...

  6. 集合-强大的集合工具类:java.util.Collections中未包含的集合工具

    任何对JDK集合框架有经验的程序员都熟悉和喜欢java.util.Collections包含的工具方法.Guava沿着这些路线提供了更多的工具方法:适用于所有集合的静态方法.这是Guava最流行和成熟 ...

  7. 005-guava 集合-集合工具类-java.util.Collections中未包含的集合工具[Maps,Lists,Sets],Iterables、Multisets、Multimaps、Tables

    一.概述 工具类与特定集合接口的对应关系归纳如下: 集合接口 属于JDK还是Guava 对应的Guava工具类 Collection JDK Collections2:不要和java.util.Col ...

  8. android java.util.Date和java.util.sql中Date的区别

    1.将java.util.Date 转换为 java.sql.Date java.sql.Date sd; java.util.Date ud; //initialize the ud such as ...

  9. java.util.concurrent中的几种同步工具类

    java.util.concurrent并发包中提供了一系列的的同步工具类,这些基础类不管是否能在项目中使用到,了解一下使用方法和原理对java程序员来说都是有必要的.博主在看<java并发编程 ...

随机推荐

  1. 步步学LINQ to SQL:为实体类添加关系【转】

    [IT168 专稿]本文详细为你阐述了如何在你的应用程序中实现LINQ to SQL.附件的示例程序包括了这里探讨的所有代码,还提供了一个简单的WPF图形界面程序来显示通过数据绑定返回的结果集. 第一 ...

  2. mvc3.0防止跨站点请求伪造(CSRF)攻击

    众所周知,asp.net mvc程序在浏览器运行是产生标准的Html标签,包括浏览器要发送的关键数据等内容都在html内容里面.听起来不错,但是假如我们伪造类似的html内容,更改里面的关键数据,在浏 ...

  3. JavaScript检测之basevalidate.js

    上篇文章「JavaScript检测原始值.引用值.属性」中涉及了大量有用的代码范例,为了让大家更方便的使用这些代码,博主特意把这些代码重新整理并托管到 GitHub,项目地址是:https://git ...

  4. AndroidUI--SlidingMenu使用例子

    SlidingMenu简介: SlidingMenu的是一种比较新的设置界面或配置界面效果,在主界面左滑或者右滑出现设置界面,能方便的进行各种操作.目前有大量的应用都在使用这一效果.如Evernote ...

  5. CalendarHelper日期计算工具,各种日期的获取和计算

    今天分享一个日期获取和计算的工具类,这个最初是用在项目中获取每周每月日期用的. <Attention> 之后逛帖子的时候发现了这个专门处理日期的库,java上也有,android上还为了避 ...

  6. L9-2.安装mysql数据库

    二.安装mysql 1.检查是否安装了mysql 2.安装cmake 输入gmake: make install 安装依赖的软件包: 新建用户权限等: 解压 安装 安装: 安装成功. 安装后调整: v ...

  7. (转)在.net中序列化读写xml方法的总结

    阅读目录 开始 最简单的使用XML的方法 类型定义与XML结构的映射 使用 XmlElement 使用 XmlAttribute 使用 InnerText 重命名节点名称 列表和数组的序列化 列表和数 ...

  8. 菜鸟的jQuery源码学习笔记(前言)

    前言 相信任何一名前端开发人员或者是前端爱好者都对jQuery不陌生.jQuery简单易用,功能强大,特别是拥有良好的浏览器兼容性,大大降低了前端开发的难度,使得前端开发变得“平易近人起来”.自从本人 ...

  9. chroot

    用途:更改命令的根目录. 语法:chroot Directory Command 描述: 注意:如果新根目录中的特殊文件具有与实际根目录不同的主要和次要设备号,则可能会覆盖文件系统. 只有具有 roo ...

  10. python 通过ntlm验证下载文件

    最近使用python实现一个小工具,需要从网站下载文件,下载时服务端需要进行ntlm验证,否则返回401错误响应.经研究 requests库配合 requests-ntlm 可以解决这个问题. ntl ...