java.util.Vector
方法主要有
void add(int index, Object element)
void setElementAt(Object obj, int index)
Object elementAt(int index)
void removeElementAt(int index)
int size()
方法主要有
void add(int index, Object element)
void setElementAt(Object obj, int index)
Object elementAt(int index)
void removeElementAt(int index)
int size()
查看一下帮助。很全的。^_^
后来改用Iterator, 发现修改Vector时使用的Iterator将会抛错,程序不能继续下去,还有Vector虽然时线程安全的,但是我在多线程中需要遍历的时候,我不能锁定整个Vector
,因为其他线程时刻有可能修改Vector的数据,而且应该时修改优先的。
希望高手帮助。
final LinkedList l = new LinkedList(); Thread t1 = new Thread() {
public void run() {
for (int i = 0; i < 10000; i++) {
l.add("" + i);
System.err.println("" + i);
}
}
}; Thread t2 = new Thread() {
public void run() {
while (true) { Iterator t = l.iterator();
for (; t.hasNext();) {
System.err.println("end:" + t.next().toString());
}
}
} };
t1.start();
t2.start();
}
另外 Vector是安全的,但Iterator不是安全的,如果Vector改变Iterator就会抛错,上面将LinkedList换成为Vector也会出现同样的错误的。
//把你需要单线程模式的操作,放到这里
}
eg.:
Thread t1 = new Thread() {
public void run() {
synchronized(this){
for (int i = 0; i < 10000; i++) {
l.add("" + i);
System.err.println("" + i);
}
}
}
};
那样同步不行的,,我刚才试过了,Iterator依然会报错的,