关于vector和arrylist区别的问题。

princesky 2005-05-10 06:28:33
资料里说vector和arrylist区别主要是同步和异步,不太明白这里的同步和异步的具体含义。
有谁能形象描述一下吗?这也是我在面试的时候经常碰到的题目,大家来探讨一下吧!
...全文
114 4 打赏 收藏 转发到动态 举报
AI 作业
写回复
用AI写文章
4 条回复
切换为时间正序
请发表友善的回复…
发表回复
chongkai 2005-05-10
  • 打赏
  • 举报
回复
Vector是同步的,ArrayList是非同步的,这意味着:

如果你有多个线程同时访问一个ArrayList,并且其中至少有一个要做修改操作,那你必须自己负责同步,最简单的方式是使用这个ArrayList本身来同步

List list = new ArrayList();

在某个线程中:

synchronized(list){
...
}

而Vector内部已经进行了同步,可以猜想,它的clear方法可能是这样写的

public synchronized void clear(){
...
}
kaymo 2005-05-10
  • 打赏
  • 举报
回复
直接看源码解决问题
kaleon 2005-05-10
  • 打赏
  • 举报
回复
Vector is synchronized,while ArrayList is not

opencsdn 2005-05-10
  • 打赏
  • 举报
回复
楼主搜google或这儿都有讨论

62,634

社区成员

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

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