smile学子吧 关注:8贴子:998
  • 3回复贴,共1

Java中ArrayList和LinkedList区别

取消只看楼主收藏回复



IP属地:广东1楼2019-05-23 21:59回复
    ArrayList和LinkedList的大致区别如下:
    1.ArrayList是实现了基于动态数组的数据结构,LinkedList基于链表的数据结构。
    2.对于随机访问get和set,ArrayList觉得优于LinkedList,因为LinkedList要移动指针。
    3.对于新增和删除操作add和remove,LinedList比较占优势,因为ArrayList要移动数据。


    IP属地:广东2楼2019-05-23 22:00
    回复
      Arraylist:底层是基于动态数组,根据下表随机访问数组元素的效率高,向数组尾部添加元素的效率高;但是,删除数组中的数据以及向数组中间添加数据效率低,因为需要移动数组。例如最坏的情况是删除第一个数组元素,则需要将第2至第n个数组元素各向前移动一位。而之所以称为动态数组,是因为Arraylist在数组元素超过其容量大,Arraylist可以进行扩容。


      IP属地:广东4楼2019-05-23 22:06
      回复


        IP属地:广东5楼2019-05-23 22:11
        回复