既然ArrayList底层是用数组实现的,那么它和数组的区别在哪里?或者说最大的好处在哪里?arraylist数组

解决方案 »

  1.   

    数组高效但是其容量固定且无法动态改变;
    ArrayList:容量可动态改变但牺牲效率;
      

  2.   

    ArrayList:容量可动态增长;但牺牲效率。
      

  3.   

    ArrayList底层是变长数组维护的,不需要定义其大小,如果长度不够了就会自动扩展为原来长度的一倍,数组的大小在定义的时候已经是个固定的值,不会自动扩展,数组的效率比集合的效率高,各有侧重点。
      

  4.   

    最大的好处就在于ArrayList不需要定义长度,可动态添加,如果是知道长度的,还是用数组比较好。
      

  5.   

    数组长度不可以改变,ArrayList没有限制,可以动态的添加数据进去。
      

  6.   

    你也知道List是数组实现的,扩展一下吧,你觉得HashMap是什么实现的呢?
    List中删除一个元素长度就会减少,那么数组中定义好了如何删除元素呢?
    你可以想象,构建另一个少一个元素的数组来代替这个老数组,就是这原理。。
      

  7.   

    最大的好处就是你不需要重新写个ArrayList,你需要数组的时候ArrayList提供toArray()是最快的
      

  8.   

    数组是固定长度的…ArrayList长度随数据的删减而改变…
      

  9.   

    ArrayList底层为数组,所以两者一样,,数组最大的缺点是长度不可改变。。只不过ArrayList是封装好的,它里面有写好的方法,长度可以动态改变
      

  10.   

    ArrayList封装了array提供了很多实用的方法如add,remove。如果用单纯的array,add、remove都需要自己写,很麻烦
      

  11.   

    数组的长度是固定的 ArrayList的长度可变
      

  12.   

    ArrayList等容器类的设计就是为了解决数组长度必须是固定的这一局限性的,利用ArrayList等容器类就可以存储任意数量的元素了,即可以动态增长.
      

  13.   

    说得有点片面吧,就类型而言,ArrayList是可以通过泛型强制指定的;还有永远是“一维”,也是可以是多维的,放数组进去不久多维吗。
      

  14.   

    说得有点片面吧,就类型而言,ArrayList是可以通过泛型强制指定的;还有永远是“一维”,也是可以是多维的,放数组进去不久多维吗。一切皆对象,一维的话应该是相较于数组吧,没有arraylist[][]之类吧!
      

  15.   

    把.net的拿来了。Java目前没有多维数组的原生支持,只有数组的数组。