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

Java 面试 - krt

1、ArrayList和LinkedList的区别

2、@Autowired和@Resource的主要区别

 

1、ArrayList和LinkedList的区别

ArrayList:

 底层数据结构:

  ArrayList基于数组实现,元素在内存中连续存储,支持随机访问(时间复杂度为o(1));

  LinkedList基于双向链表实现,节点离散存储并通过指针关联,不支持随机访问(时间复杂度为O(n));

 随机访问:

  ArrayList通过索引直接访问元素;

  LinkedList需遍历链表,效率较低;

 插入、删除:

  ArrayList在末尾插入/删除效率较高(时间复杂度O(1)),中间插入/删除需移动后续元素,(时间复杂度O(n));

  LinkedList在任意位置插入/删除仅需修改节点指针引用,效率较高(时间复杂度O(1)),但需遍历链表定位节点。 ‌

 扩容机制:arrayList默认容量不足时自动扩容为原容量的1.5倍,LinkedList无需扩容

  • ‌优先选择ArrayList‌:当需要频繁随机访问元素或尾部操作较多时(如排行榜、购物车等)。 ‌
  • ‌优先选择LinkedList‌:当需要频繁在中间或首尾插入/删除元素时。 ‌

 

2、@Autowired和@Resource的主要区别

  1-- @Autowired是spring框架,@Resource是Java标准注解;

  2-- @Autowired优先于按照类型(bytype)匹配,然后名称匹配(byname),冲突时需显式指定@qualifier;

   @Resource优先于按照名称(byname)进行匹配,然后按照类型(bytype)进行匹配;

  3-- @Autowired支持构造方法注入、属性注入、setter方法注入、方法参数注入

            @Resource仅支持属性方法与setter方法注入,使用构造方法注入会报错。

http://www.zskr.cn/news/20527.html

相关文章:

  • 给一个字符串数组,输出不同的部分
  • Java按顺序提取Word内容(文本+数学公式) - 指南
  • 实用指南:嵌入式学习笔记3.基于寄存器方式控制GPIO
  • muduo网络库事件驱动模型的实现与架构 - 详解
  • PHP转Go系列 | 如何将 PHP 项目快速迁移到 Go 上?
  • AI元人文:对大模型的召唤——未来哪吒
  • tcp/ip五层协议模型--思维拓扑图 - krt
  • springboot模式与应用案例--思维拓扑图 - krt
  • AlexNet vs LeNet 对比实验
  • 20232422 2025-2026-1 《网络与系统攻防技术》实验一实验报告
  • 详细介绍:redis特性和应用场景
  • newDay09
  • 日志|前端框架Vue
  • oop.shiyan1
  • P3330 [ZJOI2011] 看电影
  • 20232315 2025-2026-1 《网络与系统攻防技术》实验一实验报告
  • Linux使用笔记
  • 基于zynq实现一个边缘识别视频流(预学习HLS篇)
  • 2025/10/13
  • 设计文档规范
  • 实用指南:C语言速成秘籍——循环结构(while、do while、for)和跳转语句(break,continue)
  • “不要通过共享内存来通信”——深入理解Golang并发模型与CSP理论
  • 详细介绍:百度C++实习生面试题深度解析(下篇)
  • npm install creat-vue命令使用报错解决方法
  • ARM(IMX6ULL)——通信(IIC/I2C) - 指南
  • 张量的基本操作
  • Jenkins Share Library开发入门(一)
  • 第十三篇
  • Windows五次shift漏洞复现
  • Windows续