如题

解决方案 »

  1.   

    List是个接口,可以有N多实现
      

  2.   

    数组的长度固定。List的实现有可变/不可变。数组协变,List<T>不是。
    http://www.ibm.com/developerworks/cn/java/j-jtp01255.html
      

  3.   

    数组是线性的
    List不一定是线性的
      

  4.   

    http://7685941014.blog.163.com/blog/static/12461548020110941223217/
      

  5.   

    List是接口,ArrayList、Vector、LinkedList实现这个接口。
    其中ArrayList底层是以数组实现的。
    Vector也是数组实现,但是他是线程安全的,不会有并发产生的问题,但是效率要低于ArrayList。
    LinkedList是双向链表实现,适合于经常进行删除操作,但是查询效率没ArrayList、Vector快。。
      

  6.   

    1、数组必须规定大小,List没有大小规定
    2、数组里的数据必须是同一类型的,List只要你不规定存放什么类型,就可以用放任何类型的数据
      

  7.   

    数组有固定的大小 , 而list 好像没看到有大小限制 
    数据时通过定义的类型来初始化 ,就是定义什么数据只能放什么数据,是相同类型的 ;
    而定义的List 类型,是通过List接口的实现类来初始化的 ,存放的数据为TObject  ,即无限制了
      

  8.   

    List是接口,ArrayList、Vector、LinkedList实现这个接口。
    其中ArrayList底层是以数组实现的。
    Vector也是数组实现,但是他是线程安全的,不会有并发产生的问题,但是效率要低于ArrayList。
    LinkedList是双向链表实现,适合于经常进行删除操作,但是查询效率没ArrayList、Vector快。。
    分配的时候,扩增空间,vector要扩增一倍,而ArrayList只需要扩增原来的50%,大大地节省了空间...
      

  9.   

    数组是内置类型
    List的实现一般都基于数组,只是添加了许多方法来操作这个数组而已