vector问题 我看现在很多人说都不用vector了用什么来代替?具体说明下,谢谢 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 此回复为自动发出,仅用于显示而已,并无任何其他特殊作用楼主【MattHgh】截止到2008-06-27 11:05:41的历史汇总数据(不包括此帖):发帖数:50 发帖分:1244 结贴数:49 结贴分:1224 未结数:1 未结分:20 结贴率:98.00 % 结分率:98.39 % 值得尊敬 1.Vector是老的API。 2.Vector类的所有方法是同步式的方法。在用多线程访问Vector对象时用Vector是一个很好的办法。但更多时候我们只是用单线程来访问对象,如果用Vector,那么效率很低。而ArrayList和array的方法就不属于同步方法。所以在不需要同步的时候,更多时候用的是ArrayList和array。 实现List接口的东东,最常见的比如ArrayList Vector是线程安全的,它的Iterator依然也是线程安全的List list = Collections.sychronizedList(new ArrayList());这个方法,list是线程安全的,但是,它的Iterator不是线程安全的.所以在迭代时用synchronized(list){}块来包围迭代结构.其他的不知道. 哦, 这样啊如果是多线程就不用ArrayList和array,用Vector吧 ArrayList 比 Vector 更灵活,想得到同步保护在 new 实例时包装一下就可以。如下:ArrayList<String> strlist = new ArrayList<String>();strlist.add("test string 1");//其它操作...如果突然发现自己的 strlist 需要多线程并发访问同步保护,你只需:ArrayList<String> strlist = Collections.synchronizedList(new ArrayList<String>());改这一处。 java swing问题 新手学习java,关于自定义窗口显示文本内容时,内容出现省略号 CSDN高手有木有?怎么样使用HttpsURLConnection 进行远程请求? 请教关于类的强制转换 java中如何判断是哪个单选框被选中了? 关于import 关于多线程环境下,socket异常问题,请高人指点 【偶寻找 SUN JDK 1.2 ! 100 分相送!】 求助.cpx的文件用什么打开? 请教关于线程的简单问题 JAVA为什么放弃C的多继承 简单的字符串剪切
楼主【MattHgh】截止到2008-06-27 11:05:41的历史汇总数据(不包括此帖):
发帖数:50 发帖分:1244
结贴数:49 结贴分:1224
未结数:1 未结分:20
结贴率:98.00 % 结分率:98.39 %
值得尊敬
2.Vector类的所有方法是同步式的方法。在用多线程访问Vector对象时用Vector是一个很好的办法。但更多时候我们只是用单线程来访问对象,如果用Vector,那么效率很低。而ArrayList和array的方法就不属于同步方法。所以在不需要同步的时候,更多时候用的是ArrayList和array。
这个方法,list是线程安全的,但是,它的Iterator不是线程安全的.所以在迭代时用synchronized(list){}块来包围迭代结构.其他的不知道.
如果是多线程就不用ArrayList和array,用Vector吧
ArrayList<String> strlist = new ArrayList<String>();
strlist.add("test string 1");
//其它操作...
如果突然发现自己的 strlist 需要多线程并发访问同步保护,你只需:
ArrayList<String> strlist = Collections.synchronizedList(new ArrayList<String>());
改这一处。