当前位置: 首页 > 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日-得物算法岗春招笔试题-第二题
  • 项目预期管理:超越甘特图,实现客户价值交付
  • 长和获准出售巴拿马运河港口以外的港口?外交部:该报道没有依据
  • 上海车展侧记|中国汽车产业的韧性从何而来
  • 最长3个月免费住宿,南昌人才驿站(洪漂驿站)申请指南发布
  • 江南华南较强降雨扰返程,北方大部需防风沙
  • 巴菲特股东大会精华版:批评拿贸易当武器,宣布年底交班
  • 客场不敌蓉城遭遇联赛首败,申花争冠需要提升外援能力