那天去面试的时候面试官问了这样一个问题什么情况下有ArrayList 什么情况下用LikedList

解决方案 »

  1.   

    http://blog.csdn.net/CMTobby/article/details/2257246
      

  2.   

    ArrayList顾名思义数组式列表,LinkedList链表式列表
    数组与链表的区别就是,数组方便查询,不易修改,而链表易修改(插入删除),不易查询
    所以在多用于查询时就可以用ArrayList来提高效率,而如果这个列表需要经常的做插入和删除的操作,那么就最好用LinkedList来提高性能喽楼主了解了吗?
      

  3.   

    ArrayList 的本质是数组,数组在内存中是连续的的内存块。因为他的估点就是访问数据速度快,但是插入数据就慢。你想一下,如果往中间插一个,那后面的都得往后移一个LikedList就是数据结构中的:链表。  内存地址不连续,但是可以通过节点关系,找到上一个和下一个。所以他的行入比较容易,但访问则相对较慢
      

  4.   

    首先一点关键的是,ArrayList的内部实现是基于基础的对象数组的,因此,它使用get方法访问列表中的任意一个元素时(random access),它的速度要比LinkedList快。LinkedList中的get方法是按照顺序从列表的一端开始检查,直到另外一端。对LinkedList而言,访问列表中的某个指定元素没有更快的方法了。对于新增和删除操作add和remove,LinedList比较占优势,因为ArrayList要移动数据.