我想使用动态数组,发现上述两个类似乎都能满足我的要求,不知他们之间有什么区别吗?
还有,如何对他们进行排序啊?

解决方案 »

  1.   

    看thinking in java,在不需要线程同步的情况下一般建议用ArrayList,Vector线程同步
      

  2.   

    ArrayList和Vector都是使用数组方式存储数据,此数组元素数大于实际存储的数据以便增加和插入元素,它们都允许直接按序号索引元素,但是插入元素要涉及数组元素移动等内存操作,所以索引数据快而插入数据慢,Vector由于使用了synchronized方法(线程安全),通常性能上较ArrayList差
      

  3.   

    Vector是Java 1.0/1.1的容器,在Java1.0/1.1中是唯一可以自行扩容的序列,最被大量运用,但是其缺点太多:(。虽然在Java2中,Vector已经过调整,使其符合Collection规格和List规格,但其底层结构没有改变,所以其诸多缺点仍然存在。Vector的存在只不过是为了支援老旧的程式代码罢了。
        ArrayList是Vectory的替代,具有Vector的所有优点。允许快速随机存取。一般情况下,都建议用ArrayList而不应该再去用Vector。
      

  4.   

    Vector是线程安全的,用了synchronized关键字的
      

  5.   

    ArrayList是List接口的一个可变长数组实现。实现了所有List接口的操作,并允许存储null值。除了没有进行同步,ArrayList基本等同于Vector。在Vector中几乎对所有的方法都进行了同步,但ArrayList仅对writeObject和readObject进行了同步,其它比如add(Object)、remove(int)等都没有同步。
      

  6.   

    类似 Hashtable 和 HashMap 的区别????
      

  7.   

    该问题已经结贴 ,得分记录: bevin1010 (20)、