ArrayList是Vector的升级版本,推荐使用Vector是为了向前兼容另外你的设计模式噢有兴趣,和合[email protected]

解决方案 »

  1.   

    ArrayList不提供同步功能﹐在不需要同步時比Vector快。
      

  2.   

    ArrayList是非同步的,而Vector是同步的。这种差别主要体现在多个线程对同一个实例操作的时候,ArrayList有可能出现意外的非同步存取。
    事实上,除了这点区别,两个几乎是一样的了,Vector的方法比较多,但ArrayList的也够用了。
    大部分时候,我们都选择的是Vector,这个出现的早嘛。
    不是吗?^_^
      

  3.   

    这位大哥同步的概念我不是特别明白,能否深入浅出的解释一下Vector的同步是什么,谢谢
      

  4.   

    细细,kinglomei讲的让我一下茅塞顿开,那么就是说多线程的时候只能以线程独占的方式存取同一个Vector,是这样么?
      

  5.   

    Vector好象是jdk1.1里面的容器吧,具体可以参考一下《think in java》第2版,对你的书很感兴趣,能否给一份我,[email protected],谢谢!
      

  6.   

    是这样的啊,要不然你改我也改,最后同一个实例都被改的不成样子了。关于ArrayList出现的原因,我想是为了在没有多线程修改实例的前提下,用ArrayList比较快吧。
    都说用Vector比较慢。
      

  7.   

    那么在排序的时候,存在Vector里的数据对象类也是一定要继承comparable接口的了
      

  8.   

    排序,为什么要对Vector排序呢?
      

  9.   

    你到底是对数组进行操作呢,还是对Vector进行操作呢。
    如果想写二分法的算法,那就用数组来存放对象得了。
    如果想找到特定的对象,那就直接get(i)不就得了?
      

  10.   

    是不是中译版《开发模式》太烂了,^_^
    去看看《Java2 核心技术》卷II,中有解释
      

  11.   

    没什么好讨论的,这个问题翻来覆去和HashTable vs Hashmap被讨论了n次了。你就这么记住吧,就当sun公司从来就没写过Vector和HashTable两个类。事实上,Sun公司也很后悔当时写了Vector和HashTable.
      

  12.   

    朋友翻译的,不太好,呵呵
    **********
    向量和数组列表(Vector vs. ArrayList)
    类java.util.Vector被用作表示对象引用的列表,它支持动态的扩充vector,随机地存取vector元素等等。
    一个更新的方案是Java collection框架,它包含一个ArrayList类,这个类可以被用来替代Vector。Vector和ArrayList的性能差异包括:
    。Vector的方法是同步的,而ArrayList的不是。这意味着Vector是线程安全的,因此会需要一些额外的成本(§3.3)。
    。collection框架为ArrayList提供了一个可选的办法叫做LinkedList,它提供不同的性能交易(which offers different performance tradeoffs (§6.4))。
    。当Vector需要增加它的内部数据结构来保留更多的元素时,数据结构的大小会加倍,而ArrayList的大小只增加50%。因此在空间使用方面,ArrayList更节省一些。
          如果有可能,在应用中使用collection框架是值得的,因为它是处理集合的标准方式。假设你关心线程安全问题,处理这个问题的一种方式是类似ArrayList的封装对象,例如:
          List list = Collections.synchronizedList(new ArrayList());
          这个技巧使得list成为线程安全的。
      

  13.   

    那,您看Cllections.sort(Vector obj)这样的调用能否实现。
    顺便问一句,我用ArrayList.get(i).name  (name为数据对象属性值)不能成功,除非改为
    object o=(object)ArrayList.get(i);
    o.name
    这种形式才行,我没有看出这两种方式质的不同,您觉得了?
      

  14.   

    呵呵,我来总结一下发言:
     hayai(生命树)的回答是最幽默的; geyf(其实我也不会)是最完全的; kinglomei(可乐猫) 是最耐心和仔细的;其它列位是最让人感动的。谨此向诸位给予的帮助表示感谢。^Z^