当前位置: 首页 > article >正文

【Java集合类面试二十四】、ArrayList和LinkedList有什么区别?

文章底部有个人公众号:热爱技术的小郑。主要分享开发知识、学习资料、毕业设计指导等。有兴趣的可以关注一下。为何分享? 踩过的坑没必要让别人在再踩,自己复盘也能加深记忆。利己利人、所谓双赢。

面试官:ArrayList和LinkedList有什么区别?

参考答案:

1、ArrayList的实现是基于数组,LinkedList的实现是基于双向链表;

2、对于随机访问ArrayList要优于LinkedList,ArrayList可以根据下标以O(1)时间复杂度对元素进行随机访问,而LinkedList的每一个元素都依靠地址指针和它后一个元素连接在一起,查找某个元素的时间复杂度是O(N);

3、对于插入和删除操作,LinkedList要优于ArrayList,因为当元素被添加到LinkedList任意位置的时候,不需要像ArrayList那样重新计算大小或者是更新索引;

4、LinkedList比ArrayList更占内存,因为LinkedList的节点除了存储数据,还存储了两个引用,一个指向前一个元素,一个指向后一个元素。


http://www.kler.cn/a/104397.html

相关文章:

  • 101.linux驱动(非ko)加载需要固件的一个小问题
  • 如何学习能减少对现有工作的依赖?
  • 《CS2》隆重登场,艾尔莎EA H610M-I和你征战新版本
  • Linux 错误处理(字符设备基础三)
  • Flutter报错RenderBox was not laid out: RenderRepaintBoundary的解决方法
  • 【Python】Windows跟随程序启动和关闭系统代理
  • Postman的高级使用,傻瓜式学习【上】
  • php-手动搭建windows的php和nginx环境
  • nodejs+wasm+rust debug及性能分析
  • win操作系统下安装Deepspeed
  • ChatGPT AIGC 快速合并Excel工作薄 Vlookup+INDIRECT
  • 树莓派系统文件解析
  • Leetcode刷题详解——山脉数组的峰顶索引
  • Qt篇——子控件QLayoutItem与实际控件的强转
  • VR软硬件测试知多少?
  • CSS笔记-狂神
  • C++标准模板(STL)- 类型支持 (类型特性,)
  • Python数据结构——数组
  • SpringCloudAlibaba实战-快速上手
  • selenium元素定位之xpath