我看现在很多人说都不用vector了
用什么来代替?具体说明下,谢谢

解决方案 »

  1.   

    此回复为自动发出,仅用于显示而已,并无任何其他特殊作用
    楼主【MattHgh】截止到2008-06-27 11:05:41的历史汇总数据(不包括此帖):
    发帖数:50                 发帖分:1244               
    结贴数:49                 结贴分:1224               
    未结数:1                  未结分:20                 
    结贴率:98.00 %            结分率:98.39 %            
    值得尊敬
      

  2.   

    1.Vector是老的API。  
    2.Vector类的所有方法是同步式的方法。在用多线程访问Vector对象时用Vector是一个很好的办法。但更多时候我们只是用单线程来访问对象,如果用Vector,那么效率很低。而ArrayList和array的方法就不属于同步方法。所以在不需要同步的时候,更多时候用的是ArrayList和array。
      

  3.   

    实现List接口的东东,最常见的比如ArrayList
      

  4.   

    Vector是线程安全的,它的Iterator依然也是线程安全的List list = Collections.sychronizedList(new ArrayList());
    这个方法,list是线程安全的,但是,它的Iterator不是线程安全的.所以在迭代时用synchronized(list){}块来包围迭代结构.其他的不知道.
      

  5.   

    哦, 这样啊
    如果是多线程就不用ArrayList和array,用Vector吧
      

  6.   

    ArrayList 比 Vector 更灵活,想得到同步保护在 new 实例时包装一下就可以。如下:
    ArrayList<String> strlist = new ArrayList<String>();
    strlist.add("test string 1");
    //其它操作...
    如果突然发现自己的 strlist 需要多线程并发访问同步保护,你只需:
    ArrayList<String> strlist = Collections.synchronizedList(new ArrayList<String>());
    改这一处。