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

java面试篇(常见的集合底层原理)

集合

1、arraylist源码分析

三种构造方法:

扩容的逻辑:

2、ArrayList的底层实现原理是什么?

ArrayList list=new ArrayList(10)中的list扩容几次

3、如何实现数组和List之间的转换

4、LinkedList和arraylist的区别

5、hashmap的实现原理

二叉树:

红黑树: 

散列表:

实现原理:

6、hashmap的put方法的具体流程

 7、讲一讲hashmap的扩容机制

(e.hash&oldCap)是否为0这句话的解释:

 abcd的hash值是10,它与数组长度16的按位与运算结果是0,所以不用移动桶下标。而1234的hash值是26,它的按位与运算不为0,则需要当前桶下标加上旧数组长度等于26。

8、hashmap的寻址算法是什么?

(n-1)&hash在n时2的n次幂时,计算按位与运算,等价于hash % n。

右移16位的异或运算,由于低位都是零,所以异或运算不改变原先的值,只有当hash值太大才会改变(似乎,这是猜测,老师没讲)。

9、hashMap在1.7情况下的多线程死循环问题

注意两个线程扩容,用的都是创建的新数组。

http://www.dtcms.com/a/145479.html

相关文章:

  • AI大模型之模型幻觉
  • Redis——通信协议
  • 【大模型】单选数据集制作举例
  • Java技术栈 —— 网络带宽受限,图片预览加速
  • 5.4.1 Password控件的Password属性绑定问题
  • 06 GE Modifier
  • 【AI论文】对人工智能生成文本的稳健和细粒度检测
  • 性价比超高的 英伟达Tesla T4卡 如何解决散热问题?
  • Ubuntu 22.04 更换 Nvidia 显卡后启动无法进入桌面问题的解决
  • OpenAPI 3.0学习笔记
  • 【Redis】了解Redis
  • Java Web项目(一)
  • Java29:Spring MVC
  • 积木报表查询出现jdbc.SQLServerException: 对象名 ‘user_tab_comment 的解决方法
  • Federated Weakly Supervised Video Anomaly Detection with Multimodal Prompt
  • SpringBoot集成Kafka详解
  • 【锂电池SOH估计】SVM支持向量机锂电池健康状态估计,锂电池SOH估计(Matlab完整源码和数据)
  • 零点、驻点、拐点、极值点、最值点的定义、几何意义、求解方法
  • 2025年4月19日-得物算法岗春招笔试题-第二题
  • 项目预期管理:超越甘特图,实现客户价值交付
  • The_Planets_Earth靶场笔记(VulnHub)
  • 996引擎-拓展变量:物品变量
  • python:循环语句 while循环,for遍历循环,break,continue,else,嵌套循环(打印矩形、三角形,九九乘法表)
  • AI与思维模型【68】——排列组合
  • ASP.NET 0~1学习
  • 物联网技术赋能:复杂环境下的能源数据零丢失
  • 文件管理详解(曼波脑图版)
  • 爆肝整理!Stable Diffusion的完全使用手册(二)
  • 相控阵列天线:原理、优势和类型
  • strings.ToLower 使用详解