AarryList LinkedList 和 vector之间的区别和联系
 谢谢了 
 
 

解决方案 »

  1.   

    去网上搜索一下,多得很
    LinkedList类
      LinkedList实现了List接口,允许null元素。此外LinkedList提供额外的get,remove,insert方法在LinkedList的首部或尾部。这些操作使LinkedList可被用作堆栈(stack),队列(queue)或双向队列(deque)。
      注意LinkedList没有同步方法。如果多个线程同时访问一个List,则必须自己实现访问同步。一种解决方法是在创建List时构造一个同步的List:
        List list = Collections.synchronizedList(new LinkedList(...));ArrayList类
      ArrayList实现了可变大小的数组。它允许所有元素,包括null。ArrayList没有同步。
    size,isEmpty,get,set方法运行时间为常数。但是add方法开销为分摊的常数,添加n个元素需要O(n)的时间。其他的方法运行时间为线性。
      每个ArrayList实例都有一个容量(Capacity),即用于存储元素的数组的大小。这个容量可随着不断添加新元素而自动增加,但是增长算法并没有定义。当需要插入大量元素时,在插入前可以调用ensureCapacity方法来增加ArrayList的容量以提高插入效率。
      和LinkedList一样,ArrayList也是非同步的(unsynchronized)。Vector类
      Vector非常类似ArrayList,但是Vector是同步的。由Vector创建的Iterator,虽然和ArrayList创建的Iterator是同一接口,但是,因为Vector是同步的,当一个Iterator被创建而且正在被使用,另一个线程改变了Vector的状态(例如,添加或删除了一些元素),这时调用Iterator的方法时将抛出ConcurrentModificationException,因此必须捕获该异常。
      

  2.   

    google or baidu   
      

  3.   

    AarryList 底层用数组实现,增删慢查询快
    LinkedList 用链表实现,增删快查询慢
    vector 是早期版本的东西,现在基本不使用
      

  4.   

    |--List:它对元素的存取是有顺序的。可以存入重复元素,因为该集合中的元素都有角标。
            |--ArrayList:底层是数组数据结构。不同步的。对于随机访问get和set,ArrayList觉得优于LinkedList,因为LinkedList要移动指针。
            |--Vector:底层是数组数据结构。同步的。效率非常低。支持枚举。但枚举已被迭代器所取代。
            |--LinkedList:底层是链表数据结构的。对于新增和删除操作add和remove,LinedList比较占优势,因为ArrayList要移动数据。        (如果集合中的元素的数目大于目前集合数组的长度时,vector增长率为目前数组长度的100%,而arraylist增长率为目前数组长度的50%,ArrayList比较节省内存空间。)ArrayList、LinkedList和Vector都可以使用自身的get()方法跟迭代器进行集合元素遍历,Vector还可使用枚举进行遍历,实现的功能跟迭代器是相同的,但迭代器接口中添加了一个可选的移除操作,并使用较短的方法名。新的实现应该优先考虑使用 Iterator 接口而不是 Enumeration 接口。本文来自CSDN博客,转载请标明出处:http://blog.csdn.net/liuxiaolei7676/archive/2010/04/07/5459768.aspx
      

  5.   

    ArrayList实现了RandomAccess接口,所以支持随机访问,LinkedList本质上是双向链表
    这两者都实现了List接口,看名字就可以看得出来
    Vector是线程安全的数据结构,但是基本不用了,很早以前的东东了,我自己学的时候就不去怎么了解这个的
      

  6.   

    恩,大家都总结得不错,我觉得主要看用法,经常增加,删除用LinkedList,经常修改,查询用ArrayList,通常不用Vector