这两天看书两遇到这个类,索性把这个类整理一下来研究研究。看看API中对Vector的描述。
java.lang.Object | +----java.util.Vector
Vector
类实现了可动态扩充的对象数组。类似数组,它包含的元素可通过数组下标来访问。但是,在 Vector
创建之后。Vector
可根据增加和删除元素的需要来扩大或缩小。
每个向量可通过维护 capacity
和 capacityIncrement
来优化存储空间的管理。capacity
至少和向量大小一样大;但它通常会更大些,因为向量会添加组件,向量的存储空间会根据 capacityIncrement
增加。应用在插入大数量的组件之前会增加向量的容量;这减少了再分配的数量。
变量索引
构造子索引
方法索引
equals
方法测试它们是否相等。index
处开始查找给定参数在向量中第一次出现的位置,并用 equals
方法测试它们是否相等。index
处插入作为该向量元素的指定对象。index
处的元素为指定的对象。变量
protected Object elementData[]
protected int elementCount
protected int capacityIncrement
0
, 向量的容量在每次需要增加时会扩充一倍。
构造子
public Vector(int initialCapacity, int capacityIncrement)
public Vector(int initialCapacity)
public Vector()
方法
public final synchronized void copyInto(Object anArray[])
public final synchronized void trimToSize()
public final synchronized void ensureCapacity(int minCapacity)
public final synchronized void setSize(int newSize)
null
项添加到向量尾部。如果新的大小小于当前大小,所有下标大于或等于 newSize
的元素将被抛弃。
public final int capacity()
public final int size()
public final boolean isEmpty()
true
;反之返回 false
。public final synchronized Enumeration elements()
public final boolean contains(Object elem)
true
;否则返回 false
。public final int indexOf(Object elem)
equals
方法测试它们是否相等。
-1
。public final synchronized int indexOf(Object elem, int index)
index
处开始查找给定参数在向量中第一次出现的位置,并用 equals
方法测试它们是否相等。
index
处或在它之后第一次出现的位置的下标;如果该对象未找到,则返回 -1
。public final int lastIndexOf(Object elem)
-1
。public final synchronized int lastIndexOf(Object elem, int index)
index
处或在它之后第一次出现的位置的下标;如果该对象未找到,则返回 -1
。public final synchronized Object elementAt(int index)
public final synchronized Object firstElement()
public final synchronized Object lastElement()
size() - 1
处的元素。public final synchronized void setElementAt(Object obj, int index)
index
处的元素为指定的对象。 在该位置的先前元素被抛弃。
下标值必须大于或等于0
,并且小于向量的当前大小。
public final synchronized void removeElementAt(int index)
index
的元素的下标值减一。
下标值必须大于或等于0
,并且小于向量的当前大小。
public final synchronized void insertElementAt(Object obj, int index)
index
处插入作为该向量元素的指定对象。 在该向量中下标大于或等于 index
的元素的下标值加一。
下标值必须大于或等于0
,并且小于或等于向量的当前大小。
public final synchronized void addElement(Object obj)
public final synchronized boolean removeElement(Object obj)
index
的每个元素的下标值减一。
true
;否则返回 false
。public final synchronized void removeAllElements()
public synchronized Object clone()
public final synchronized String toString()
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[]){
Vector v=new Vector();
v.addElement("one");
v.addElement("two");
v.addElement("three");
v.insertElementAt("zero",0);
v.insertElementAt("oop",3);
v.setElementAt("three",3);
v.setElementAt("four",4);
v.removeAllElements();
}
}
相关推荐
Java中的`Vector`类和`Stack`类是两种在多线程环境中常用的数据结构,它们都属于`java.util`包,提供了线程安全的操作。这两个类在早期的Java版本中非常常见,但在现代Java开发中,由于性能和设计考虑,它们的使用...
对vector进行分析,对java学者有较大用处
Java 中 Vector 的用法 Java 中的 Vector 是一个动态数组,提供了可增长的数组功能,能够根据需要自动扩展或收缩容量。下面我们将详细介绍 Vector 的用法和相关知识点。 Vector 的构造函数 Vector 类提供了三个...
java.util.vector提供了向量类(vector)以实现类似动态数组的功能。在Java语言中没有指针的概念,但如果正确灵活地使用指针又确实可以大大提高程序的质量。比如在c,c++中所谓的“动态数组”一般都由指针来实现。...
AllAboutVector-in-java 该项目包含Java中Vector类的所有用法
java vector java vector java vector java vector
Java中的String、Vector和Scanner是三个非常基础且重要的概念,对于初学者来说,理解它们的用法和原理是学习Java编程的关键步骤。 首先,我们来深入理解`String`类。在Java中,`String`是一个不可变的字符序列,这...
Java Vector的相关知识 Java Vector的相关知识
javavector
Java中vector的详细说明
java实现的利用Vector类(继承)编写一个先进先出的队列类Queue,它有两个方法:入队inqueue和出队outqueue。(在主方法中使用该队列: “111”、“222”入队,出队一元素,“333”入队,最后出队所有元素。
在Java编程语言中,`StringBuilder`、`StringBuffer`和`Vector`是三种不同类型的类,它们各自在特定场景下有着不同的用途。首先,我们来分别了解这三个类的基本特性和区别。 1. `StringBuilder`: - `...
在Java编程语言中,`Vector`类是一个古老的集合类,它在Java的早期版本(1.0)就已经存在,并且在后续版本中一直保留。`Vector`类是`java.util`包的一部分,实现了`List`接口,这意味着它可以存储、管理和操作一系列...
Java中的ArrayList和Vector都是列表(List)接口的实现类,它们在功能上相似,但在细节上存在一些重要的差异。这两个类都是基于数组实现的,但它们的性能特点、线程安全性和扩容策略有所不同。 1. **扩容策略**: ...
在Java编程语言中,`Vector`是`java.util`包中的一个类,它是一个动态数组,可以在运行时自动调整大小。`Vector`类是线程安全的,这意味着它在多线程环境中可以被多个线程同时访问而不会出现数据不一致的问题。然而...
Java 中 ArrayList 的使用方法以及与 Vector 的对比 ArrayList 是 Java 中的一种动态数组,它提供了很多有用的特性,例如动态地增加和减少元素,实现了 ICollection 和 IList 接口,灵活的设置数组的大小等。下面...
在C++编程中,`std::vector`是一个非常重要的容器,它提供了动态数组的功能,允许我们在运行时方便地增加或减少元素数量。然而,对于学习和理解C++内存管理和容器实现原理,尝试自己编写一个类似`std::vector`的数据...
javase 中vector类 的使用及线程同步 原理
vector 使用实例vector 使用实例vector 使用实例vector 使用实例vector 使用实例