Java之中的Vector的用法

本文详细介绍了Java中Vector类的基本用法及实例应用,包括如何添加、获取、修改和删除元素等操作。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

2009-06-12 09:12 自强不息 自强不息博客 我要评论(0) 字号: T | T
一键收藏,随时查看,分享好友!

本文第一部分首先对Java vector的用法进行了讲解,然后通过实例,具体讲述了它的使用。

AD:

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

Vector是同步的。Array是不同步的。但是Array运行速度要比Vector要快。。但是一般我们都用Vector比较稳定而且安全


Java之vector的用法(二)——实例一则:

 
  1. import java.util.*;  
  2.  
  3. public class Test {  
  4. public static void main(String args[]) {  
  5. Vector vecFields = new Vector();  
  6. String goods_name = "aaaaa";  
  7.  
  8. vecFields.addElement(new Field("goods_name", goods_name));  
  9. vecFields.addElement(new Field("goods_test""bbbbbb"));  
  10. vecFields.addElement("string_test_sample");  
  11.  
  12. System.out.println(vecFields.size());//显示vecFields的长度(这里为3)  
  13. Field field=(Field)vecFields.elementAt(0);  
  14. System.out.println(field.getFieldName()+": "+field.getFieldValue());  
  15. field=(Field)vecFields.elementAt(1);  
  16. System.out.println(field.getFieldName()+": "+field.getFieldValue());  
  17. System.out.println(vecFields.elementAt(2));  
  18. }  
  19. }  
  20.  
  21. class Field {  
  22. private String fieldName;  
  23. private String fieldValue;  
  24. public Field(String fieldName, String fieldValue) {  
  25. this.fieldName = fieldName;  
  26. this.fieldValue = fieldValue;  
  27. }  
  28. public String getFieldName() {  
  29. return this.fieldName;  
  30. }  
  31. public String getFieldValue() {  
  32. return this.fieldValue;  
  33. }  
  34. }

### JavaVector 的使用方法及特点 #### 特点概述 Vector 是 `java.util` 包下的一个类,实现了 `List` 接口。它的主要特点是基于数组实现并具备动态扩容能力[^1]。此外,Vector 支持线程同步操作,这使得它在线程间共享数据时更加安全[^3]。 以下是 Vector 的几个核心特性: - **动态扩展**:当向量容量不足时,会自动增加其大小以容纳更多元素。 - **线程安全**:通过内置的同步机制(synchronization),Vector 提供了线程间的协调访问功能。 - **可选初始容量和增量参数**:创建对象时可以通过构造函数指定初始容量以及每次增长的比例或固定数量。 #### 基本语法与常用方法 ##### 创建实例 可以有多种方式来初始化一个 Vector 对象: ```java // 默认无参构造器,默认初始容量为 10 Vector<String> v1 = new Vector<>(); // 自定义初始容量 (capacityIncrement 参数设置为空则默认按需翻倍) Vector<Integer> v2 = new Vector<>(5); // 同时设定初始容量和每次扩充的数量 Vector<Double> v3 = new Vector<>(10, 5); ``` ##### 添加/删除元素 用于增删改查的操作非常直观简单: ```java v1.add("Element"); // 尾部追加新项 Object obj = v1.remove(0); // 移除索引位置处的对象返回被移除者 boolean b = v1.contains(obj); // 判断是否存在某特定值 int idx = v1.indexOf(obj); // 获取首次出现的位置(-1表示不存在) if (!v1.isEmpty()) { // 测试容器是否为空 System.out.println(v1.size()); // 输出当前长度 } ``` ##### 迭代遍历 支持标准迭代模式或者增强型for循环来进行逐一遍历处理: ```java Iterator<String> it = v1.iterator(); while(it.hasNext()){ String s = it.next(); } for(String str:v1){ System.out.print(str+","); } ``` #### 性能考量与其他替代方案对比 尽管 Vector 提供了一些便利之处比如内建锁保护等优势,在现代应用开发环境下由于存在潜在性能瓶颈往往推荐优先考虑其他更高效的解决方案如 ArrayList 或 CopyOnWriteArrayList 来满足不同的需求场景[^4]。 例如对于单一线程环境而言无需额外开销去维护不必要的锁定状态从而提升执行效率;而对于高并发读写混合频率较高的场合,则可能需要评估采用专门针对此类情况设计的数据结构形式才能达到最佳效果。 ---
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值