三九宝宝网宝宝百科宝宝知识

Java中如何使用Vector

04月07日 编辑 39baobao.com

[CAD中如何使用偏移]2点击右边的修改菜单中的偏移命令。3这时候要求输入偏移距离,输入需要的偏移距离,如200,点击回车。4这时候要求指定偏移的方向,也就是偏移的一边,这里点击下边,偏移到下边。5点...+阅读

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));

}

}

}

java实现将Vector集合转换成LinkedList后使用队列遍历方式进行遍历

ArrayList,LinkedList,Vestor这三个类都实现了java.util.List接口,但它们有各自不同的特性,主要如下:

一、同步性

ArrayList,LinkedList是不同步的,而Vestor是的。所以如果要求线程安全的话,可以使用ArrayList或LinkedList,可以节省为同步而耗费开销。但在多线程的情况下,有时候就不得不使用Vector了。当然,也可以通过一些办法包装ArrayList,LinkedList,使他们也达到同步,但效率可能会有所降低。

二、数据增长

从内部实现机制来讲ArrayList和Vector都是使用Objec的数组形式来存储的。当你向这两种类型中增加元素的时候,如果元素的数目超出了内部数组目前的长度它们都需要扩展内部数组的长度,Vector缺省情况下自动增长原来一倍的数组长度,ArrayList是原来的50%,所以最后你获得的这个集合所占的空间总是比你实际需要的要大。所以如果你要在集合中保存大量的数据那么使用Vector有一些优势,因为你可以通过设置集合的初始化大小来避免不必要的资源开销。

三、检索、插入、删除对象的效率

ArrayList和Vector中,从指定的位置(用index)检索一个对象,或在集合的末尾插入、删除一个对象的时间是一样的,可表示为O(1)。但是,如果在集合的其他位置增加或移除元素那么花费的时间会呈线形增长:O(n-i),其中n代表集合中元素的个数,i代表元素增加或移除元素的索引位置。为什么会这样呢?以为在进行上述操作的时候集合中第i和第i个元素之后的所有元素都要执行(n-i)个对象的位移操作。

LinkedList中,在插入、删除集合中任何位置的元素所花费的时间都是一样的—O(1),但它在索引一个元素的时候比较慢,为O(i),其中i是索引的位置。

所以,如果只是查找特定位置的元素或只在集合的末端增加、移除元素,那么使用Vector或ArrayList都可以。如果是对其它指定位置的插入、删除操作,最好选择LinkedList

参考文章:

java中怎么用vector将这个类集合起来

class Product { private String Name; private String num; private int SellNum; private int Price; public Product(String name, String num, int sellNum, int price) { Name = name; this.num = num; SellNum = sellNum; Price = price; } public String getName() { return Name; } public void setName(String name) { Name = name; } public String getNum() { return num; } public void setNum(String num) { this.num = num; } public int getSellNum() { return SellNum; } public void setSellNum(int sellNum) { SellNum = sellNum; } public int getPrice() { return Price; } public void setPrice(int price) { Price = price; }} Vector v=new Vector(); v.add(new Product("1001","软件世界",5,100)); v.add(new Product("1002","计算机用户",6,120)); v.add(new Product("1003","网上生活",27,1)); v.add(new Product("1004","网络互连",45,10)); v.add(new Product("1005","威宝3.5",5,1000)); v.add(new Product("1006","3M3.5",3,150));其实从文本读东西可以用下面的代码:BufferedReader in = new BufferedReader(new FileReader("b.txt"));str = in.readLine()然后对str进行解析得到Product然后再加入vectorvector是没有下标的,但是可以用get(i)的方式取索引i的数据

以下为关联文档:

资格认证:Vector和ArrayList哪一个更好下面我们从4个方面进行一一探讨API在由Ken Arnold等编著的《Ja Programming Language》(Addison-Wesley, June 2000)一书中有这样的描述,Vector类似于ArrayList.。所有从AP...

如何理解java中return的用法通常方法返不返回具体类型的值,是由我们自己决定的,如果一个方法的功能是进行一些赋值或修改,那么它可不返回值,如果这个方法是为了获取某个属性的值的话,那么一般是需要返回值的...

如何在java中调用matlab代码前段时间摸索了java调用matlab东西,不说学的有多深,也算有结果了,达到目的了。也即用java程序可以调用matlab中函数了。 按顺序说吧,最开始肯定是下个matlab看看。下哪一个呢。...

java中如何产生1000个随机的整数/** * 2015年10月23日下午8:37:31 * * author cs12110 TODO 完成程序 */ public class Joke { /** * 获取长度为len的一维数组:随机整数 * * param len * 长度 * return */ p...

如何使用Java POI生成Excel表文件private static void WriteExcel2010() throws IOException { String path="C:\\poi2.xlsx"; XSSFWorkbook workbook=new XSSFWorkbook(); XSSFSheet sheet=workbook.createSh...

java如何在窗口中画出二叉树如果你说的是二叉搜索树的话,它是由节点和节点间的连线组成的,节点可以用一个圆来代替,连线就是一段直线,他们的位置你需要用一个2维数组来定义,然后调用Paint类的相关方法来画节...

java中学java字符串在内存中占的字节您好,提问者: Java默认是用gbk编码,而且汉字是占两个字节,都是负数。 Java中的UTF-8汉字是三个字节,都是负数,其它是一个字节。 所以输出2+4=6,完全正确。 由于你修改了这个文件的...

java string使用了什么设计模式快速开发设计模式(Design pattern)是一套被反复使用、多数人知晓的、经过分类编目的、代码设计经验的总结。使用设计模式是为了可重用代码、让代码更容易被他人理解、保证代码...

Java静态内部类的使用Java静态内部类的使用,Java中怎样使用匿名内部类:Java语言允许在类中再定义类,这种在其它类内部定义的类就叫内部类。内部类又分为:常规内部类、局部内部类、匿名内部类和静态嵌...

推荐阅读
图文推荐