java 的 Vector 类
java Vector 类实现类似于 ArrayList. 矢量元素可通过整数索引访问。Vector 的大小根据创建后的需要(添加或删除元素)而变化。Vector 是同步的,这意味着它允许同时进行多个操作,但是,它不能保证使用多线程时的良好性能。如果你不需要同步列表,建议使用 ArrayList,它提供了良好的性能。
Vector 实现了像 ArrayList 一样的 List 接口,它的缺点是它的性能很差,因为它在添加、查找、删除和修改这些>><<元素的操作中同步。
1)Vector v = new Vector();
此构造函数创建一个初始大小为 10 的空向量。如果矢量超过 10 个元素,则矢量将调整大小,以便将第 11 个元素插入到 Vector.
2)Vector v = new Vector(int capabilityInitial);
此形状使用指定要分配的元素数的初始大小初始化向量。
Vector v = new Vector(5);//将创建一个容量为 5.
3)Vector v = new Vector(int capabilityInitial, int capacityIncrement)
创建一个具有初始容量的 Vector,并指定当 Vector 调整容量大小时,如果项目数达到最大大小,将分配多少个图块。
向量 v = 新向量(8);
它将创建一个容量为 8 的 Vector,增量容量为 4。这意味着插入第 9 个元素,大小为 12(8+4),第 16 个插入将为 20(16+4).
4)向量 v = 新向量(集合 c);
使用对象集合(ArrayList、TreeSet、HashMap 等)初始化向量。
Vector 的重要方法
与 ArrayList 和其他对象集合一样,Vector 实现了 接口列表 和 interface Collections从中继承了许多添加、删除、搜索、修改的方法。
Add Item
添加是通过两种方法完成的: add() 和 addElement()。addElement() 插入后会递增 list.
import java.util.Vector;输出:
public class addElement{
public static void main(String[] args) {
Vector v = new Vector();
v.add(1);
v.add(2);
v.add(3);
System.out.println(v);
v.addElement(4);
System.out.println(v);
}
}
[1, 2, 3]
[1, 2, 3, 4]
删除元素
您可以使用 < 方法使用索引删除其中任何一个span style=font-family: Courier New, Courier, 小型货车;”>remove(int index),要么使用你自己的方法 Vector removeElementAt(int index).搜索和删除对象是可能的 方法remove(对象 o):
import java.util.Vector;输出:
public class remove{
public static void main(String[] args) {
Vector v = new Vector();
v.add(1);
v.add(2);
v.add(3);
v.add(4);
System.out.println(v);
//删除 index
v.remove(2);
System.out.println(删除索引 2 处的元素:”+v);
//suppressioin with object
v.remove(new Integer(1));
System.out.println(删除整数 1:”+v);
}
}
[1, 2, 3, 4]
delete 索引 2 处的元素: [1, 2, 4]
delete integer 1:[2, 4]
elementAt() 和 setElementAt()
get(int i) 或 elementAt(int i) 将元素返回到定义的索引 i 和 set(对象 o, int i) 或 setElementAt(Object obj, int i) 将元素替换为对象 obj。get() 通常用于在 Vector 行进时翻转元素。容量是通过以下方法获得的 size().
import java.util.Vector;输出:
public class Test {
public static void main(String[] args) {
Vector v = new Vector();
v.add(1);
v.add(2);
v.add(3);
v.add(4);
System.out.println(第一个元素:”+v.firstElement());
System.out.println(最后一个元素:”+v.lastElement());
for(int i = 0; iSystem.out.println(v.get(i));
v.setElementAt(二”, 1);
System.out.println(v);
}
}
第一个元素:1
最后一个元素:4
1
2
3
4
[1, 二, 3, 4]
搜索元素
在向量中搜索很容易,你必须调用方法 indexOf(对象 o)返回找到的第一个匹配项的索引。我们还有方法 lastIndexOf(对象 o)返回上次找到的匹配项的索引。
import java.util.Vector;输出
public class Test {
public static void main(String[] args) {
Vector v = new Vector();
v.add(java”);
v.add(c”);
v.add(c++”);
v.add(JavaScript”);
v.add(java”);
System.out.println(第一次出现 c: ”+v.indexOf(c++”));
System.out.println(java 的最后一次出现:”+v.lastIndexOf(java”));
}
}
c的第一次出现:2
java的最后一次出现:4
- int Capacity():返回 list.
- int setSize():更改列表的当前大小.
- boolean contains(Object o):检查 vector 是否包含对象 o.
- boolean isEmpty():如果为 empty.
- Object[] toArray():将向量转换为对象数组.
note: size()返回列表的大小,capacity() 返回列表可以容纳的容量。因此,Vector 路径始终使用 size()否则你会看到一个错误,说你已经超过了size. |
References:
openclassroms vector java
javadoc: vector class