当前位置: 首页 > 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情况下的多线程死循环问题

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

相关文章:

  • 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日-得物算法岗春招笔试题-第二题
  • 项目预期管理:超越甘特图,实现客户价值交付
  • 今年底,全国新拍电视剧、纪录片将基本实现超高清化
  • 视频·世界读书日|林乾:碎片化阅读或影视综艺≠知识
  • 机器人马拉松背后的五大启示:未来社会与机器人的深度融合
  • 夜读丨一位医生0点后的朋友圈
  • 上海农房翻建为何难?基层盼政策适度松动
  • 北京理工大学解除宫某聘用关系,该教授此前被指骚扰猥亵学生