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

2023年Java核心技术面试第四篇(篇篇万字精讲)

目录

八. 对比Vector,ArrayList, LinkedList有何区别?

 8.1  典型回答

8.1.1 Vector:

8.1.2 ArrayList :

8.1.3 LinkedList

8.2 考察点分析:

8.2.1 不同容器类型适合的场景


八. 对比Vector,ArrayList, LinkedList有何区别?

 8.1  典型回答

三者都是实现集合框架中的List,即有序集合,都按照位置进行定位,添加或者删除的操作,都提供迭代器进行遍历内容,由于具体的设计,在行为,性能,线程安全方面又有些不同。

8.1.1 Vector:

是Java早期提供的线程安全的动 态数组,如果不需要线程安全,不建议使用,同步需要进行额外开销,Vector内部使用对象数组来保存数据,可以根据需要自动的增加容量,当数组已满时,会创建新的数组,并且拷贝原有的数组数据

8.1.2 ArrayList :

是应用更加广泛的动态数组实现,本身不是线程安全的,性能好很多。

ArrayList可以根据需要调整容量,vector在扩容的时候会提高一倍,ArrayList则是增加50%

8.1.3 LinkedList

Java 提供的双向链表,不需要进行上面两种进行调整容量,也不是线程安全的。

8.2 考察点分析:

8.2.1 不同容器类型适合的场景

http://www.lryc.cn/news/129481.html

相关文章:

  • 数字化时代,数据仓库和商业智能BI系统演进的五个阶段
  • 【【Verilog典型电路设计之FIFO设计】】
  • JAVA设计模式总结之23种设计模式
  • Flutter 测试小结
  • docker build -t 和 docker build -f 区别
  • Java 项目日志实例基础:Log4j
  • K8S应用笔记 —— 签发自签名证书用于Ingress的https配置
  • webpack 和 ts 简单配置及使用
  • MATLAB算法实战应用案例精讲-【图像处理】交并比
  • [Machine Learning] decision tree 决策树
  • 【数学建模】-- 数学规划模型
  • SpringBoot使用RabbitMQ自动创建Exchange和Queue
  • 【设计模式】订单状态流传中的状态机与状态模式
  • 2.js中attr()用来修改或者添加属性或者属性值
  • 【虫洞攻击检测】使用多层神经网络的移动自组织网络中的虫洞攻击检测研究(Matlab代码实现)
  • 微分流形学习之一:基本定义
  • [C++]笔记-制作自己的静态库
  • 优酷视频码率、爱奇艺视频码率、B站视频码率、抖音视频码率对比
  • 用pytorch实现google net
  • 2023-8-15差分矩阵
  • 物理公式分类
  • vue实现登录注册
  • SpringBoot复习:(55)在service类中的方法上加上@Transactional注解后,Spring底层是怎么生成代理对象的?
  • 常用的图像校正方法
  • AWS security 培训笔记
  • 设计模式之代理模式(Proxy)的C++实现
  • vim 配置环境变量与 JDK 编译器异常
  • TiDB v7.1.0 跨业务系统多租户解决方案
  • 【题解】二叉树中和为某一值的路径(一)
  • css中变量和使用变量和运算