再问Vector和Collection

kevincom 2003-08-21 06:27:33
Vector中removeAll(Collection e)方法要求参数是Collection类型的
怎样将Vector转变为Collection?
...全文
37 4 打赏 收藏 转发到动态 举报
写回复
用AI写文章
4 条回复
切换为时间正序
请发表友善的回复…
发表回复
kevincom 2003-08-22
  • 打赏
  • 举报
回复
感激啊!
谢谢!谢谢!谢谢!谢谢!谢谢!谢谢!谢谢!谢谢!谢谢!谢谢!谢谢!谢谢!谢谢!谢谢!谢谢!谢谢!谢谢!谢谢!谢谢!谢谢!谢谢!谢谢!谢谢!谢谢!谢谢!
Wnyu 2003-08-21
  • 打赏
  • 举报
回复
package myprojects.vectorcollection;

import java.util.Vector;
import java.util.Collection;

class VectorCollection {

public VectorCollection() {

}
public void TestVector(){
Vector vc1 = new Vector();
Vector vc2 = new Vector();
vc1.add("Hi,");
vc1.add("kevincom (木瓜) ");
vc1.add("Hello");
vc1.add("World!");
ShowVector(vc1);
vc2.add("Hello");
vc2.add("World!");
System.out.println("--------------");
vc1.removeAll((Collection)vc2);
ShowVector(vc1);
}
public void ShowVector(Vector vc) {
for (int i = 0; i < vc.size(); i++) {
System.out.println(vc.elementAt(i).toString());
}
}

public static void main(String args[]) {
System.out.println("Starting VectorCollection...");
VectorCollection mainFrame = new VectorCollection();
mainFrame.TestVector();

}
}
whyxx 2003-08-21
  • 打赏
  • 举报
回复
直接将vector做为一个collection传进去就行了
shine333 2003-08-21
  • 打赏
  • 举报
回复
不需要啊,VECTOR就是一个COLLECTION的子类的子类的子类,连强制转换都 不需要
3、ArrayList和Vector的区别 答: 这两个类都实现了List接口(List接口继承了Collection接口),他们都是有序集合,即存储在这两个集合中的元素的位置都是有顺序的,相当于一种动态的数组,我们以后可以按位置索引号取出某个元素,,并且其中的数据是允许重复的,这是HashSet之类的集合的最大不同处,HashSet之类的集合不可以按索引号去检索其中的元素,也不允许有重复的元素(本来题目的与hashset没有任何关系,但为了说清楚ArrayList与Vector的功能,我们使用对比方式,更有利于说明题)。 接着才说ArrayList与Vector的区别,这主要包括两个方面:. (1)同步性: Vector是线程安全的,也就是说是它的方法之间是线程同步的,而ArrayList是线程序不安全的,它的方法之间是线程不同步的。如果只有一个线程会访到集合,那最好是使用ArrayList,因为它不考虑线程安全,效率会高些;如果有多个线程会访到集合,那最好是使用Vector,因为不需要我们自己再去考虑和编写线程安全的代码。 备注:对于Vector&ArrayList、Hashtable&HashMap,要记住线程安全的题,记住Vector与Hashtable是旧的,是java一诞生就提供了的,它们是线程安全的,ArrayList与HashMap是java2时才提供的,它们是线程不安全的。所以,我们讲课时先讲老的。(2)数据增长: ArrayList与Vector都有一个初始的容量大小,当存储进它们里面的元素的个数超过了容量时,就需要增加ArrayList与Vector的存储空间,每次要增加存储空间时,不是只增加一个存储单元,而是增加多个存储单元,每次增加的存储单元的个数在内存空间利用与程序效率之间要取得一定的平衡。Vector默认增长为原来两倍,而ArrayList的增长策略在文档中没有明确规定(从源代码看到的是增长为原来的1.5倍)。ArrayList与Vector都可以设置初始的空间大小,Vector还可以设置增长的空间大小,而ArrayList没有提供设置增长空间的方法。 总结:即Vector增长原来的一倍,ArrayList增加原来的0.5倍。

81,091

社区成员

发帖
与我相关
我的任务
社区描述
Java Web 开发
社区管理员
  • Web 开发社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧