解读底层的hashmap源码(简版)

本文探讨HashMap的源码细节,包括Java中控制台格式化输出的方法及其实现。示例展示了Map的使用,HashMap在JDK1.8前后的存储结构变化,以及数组的值传递特性。通过实例分析HashMap的存储方式和数组操作。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

在这里插入图片描述
这套用别人的图片:
我们来讲解下HashMap的源码吧,这也是面试官经常问的面试题。
首先我们要知道:
Java如何通过格式化输出的方式在控制台打印信息。
控制台格式化输出的命令是:
System.out.printf( 格式串, 值1, 值2…)。
在“格式串”中,%s 表示的是字符串占位符,

接下来

      Map<String,String> Map = new HashMap<String,String>();

        Map.put("马牛","马牛");
        Map.put("王五","王五");
        Map.put("李四","李四");
        Map.put("张三","张三");
        System.out.println(Map.get("qi"));   //输出的答案是qi是以key,value的形式存的

是我们使用map的方法存取方法
因为hashmap底层是Jdk1.8以前是数组+链表
jdk1.8以后是数组+链表+红黑树

        2.演示过程
       Integer  integer[]=new Integer[10];
       integer[0]=0;
       integer[1]=1;
       integer[9]=2;
       integer[9]=200;
       System.out.println(integer[9]);  //输出的值是200,值的传递
  //这是数组的值传递     
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

程序员小小刘

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值