首页 > 代码库 > Vector的使用
Vector的使用
Vector与ArrayList一样,也是通过数组实现的,不同的是它支持线程的同步,即某一时刻只有一个线程能够写Vector,避免多线程同时写而引起的不一致性,但实现同步需要很高的花费,因此,访问它比访问ArrayList慢。
关于ArrayList和Vector区别如下:
- ArrayList在内存不够时默认是扩展50% + 1个,Vector是默认扩展1倍。
- Vector提供indexOf(obj, start)接口,ArrayList没有。
- Vector属于线程安全级别的,但是大多数情况下不使用Vector,因为线程安全需要更大的系统开销。
package VectorTest; import java.util.Vector; import java.util.Enumeration; public class VectorTest{ public static void main(String[] args){ Vector v1=new Vector(); Integer integer1=new Integer(1); v1.addElement("one");//加入的为字符串对象 v1.addElement(integer1); v1.addElement(integer1);//加入的为Integer的对象 v1.addElement("two"); v1.addElement(new Integer(2)); v1.addElement(integer1); v1.addElement(integer1); System.out.println("The vector v1 is:\n\t"+v1);//将v1转换成字符串并打印 v1.insertElementAt("three",2);//往指定位置插入新的对象,指定位置后的对象依次往后顺延 v1.insertElementAt(new Float(3.9),3); System.out.println("The vector v1(used method insertElementAt())is:\n\t "+v1); v1.setElementAt("four",2);//将指定位置的对象设置为新的对象 System.out.println("The vector v1(used method setElementAt())is:\n\t "+v1); v1.removeElement(integer1);//从向量对象v1中删除对象integer1,由于存在多个integer1所以从头开始找,删除找到的第一个integer Enumeration enum1=v1.elements();//使用枚举类(Enumeration)的方法来获取向量对象的每个元素 System.out.print("The vector v1(used method removeElement())is:"); while(enum1.hasMoreElements()) System.out.print(enum1.nextElement()+" "); System.out.println(); //按不同的方向查找对象integer1所处的位置 System.out.println("The position of object 1(top-to-bottom):"+ v1.indexOf(integer1)); System.out.println("The position of object 1(tottom-to-top):"+v1.lastIndexOf(integer1)); //重新设置v1的大小,多余的元素被行弃 v1.setSize(4); System.out.println("The new vector(resized the vector)is:"+v1); } }
声明:以上内容来自用户投稿及互联网公开渠道收集整理发布,本网站不拥有所有权,未作人工编辑处理,也不承担相关法律责任,若内容有误或涉及侵权可进行投诉: 投诉/举报 工作人员会在5个工作日内联系你,一经查实,本站将立刻删除涉嫌侵权内容。