千锋教育-做有情怀、有良心、有品质的职业教育机构

当前位置:首页  >  IT面试题  >  大数据面试题  >  正文

arrayList和LinkedList的区别

来源:千锋教育
发布时间:2022-09-26 11:47:00
分享

  Arraylist:底层是基于动态数组,根据下表随机访问数组元素的效率高,向数组尾部添加元素的效率高;

  但是,删除数组中的数据以及向数组中间添加数据效率低,因为需要移动数组。 Linkedlist基于链表的动态数组,数据添加删除效率高,只需要改变指针指向即可,但是访问数据的平均效率低,需要对链表进行遍历。

  总结:对于随机访问get和set,ArrayList优于LinkedList,因为LinkedList要移动指针。

  对于新增和删除操作add和remove,LinedList比较占优势,因为ArrayList要移动数据。

arrayList和LinkedList的区别

声明:本站稿件版权均属千锋教育所有,未经许可不得擅自转载。

相关推荐

  • 请列举几个常用的Linux命令 man :帮助命令 sudo : 获取root权限 jps : 查看java进程 ps -ef : 查看进程 ps -aux : 查看进程 netstat -nltcp : 监听端口 free : 内存查看 top :动态 查看服务器资源信息
  • 单利模式是什么,线程安全吗? 也就是说通过单例我们可以实现数据的全局访问,还可以再全局实现功能的调用.单例分成懒汉式和饿汉式,对于懒汉式会有线程安全问题,需要进行同步处理,对于饿汉式不会有线程安全问题,不需要同步.
  • nio和bio的区别,为啥nio好 同步阻塞IO(JAVA BIO/Blocking IO ): 同步并阻塞,服务器实现模式为一个连接一个线程,即客户端有连接请求时服务器端就需要启动一个线程进行处理,如果这个连接不做任何事情会造成不必要的线程开销.
  • threadlocal原理 因为在上面的代码分析过程中,我们发现如果没有先set的话,即在map中查找不到对应的存储,则会通过调用setInitialValue方法返回i,而在setInitialValue方法中,有一个语句是T value = initialValue(), 而默认情况下,init...
  • arrayList和LinkedList的区别 Linkedlist基于链表的动态数组,数据添加删除效率高,只需要改变指针指向即可,但是访问数据的平均效率低,需要对链表进行遍历。对于新增和删除操作add和remove,LinedList比较占优势,因为ArrayList要移动数据。
  • 垃圾回收机制(算法原理) 复制清除法:将内存分为两块,其中一块写满后,遍历对象标记有用的对象复制到另一块,然后把这一块清理,这样复制的内容很少而且内存始终连续,缺点是始终需要有一块内存空出来用于复制。