千家信息网

java中Hashmap的get方法怎么用

发表于:2025-01-16 作者:千家信息网编辑
千家信息网最后更新 2025年01月16日,这篇文章主要介绍java中Hashmap的get方法怎么用,文中介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们一定要看完!java中Hashmap的get方法map中存储的是键值对,也就是说通过
千家信息网最后更新 2025年01月16日java中Hashmap的get方法怎么用

这篇文章主要介绍java中Hashmap的get方法怎么用,文中介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们一定要看完!

java中Hashmap的get方法

map中存储的是键值对,也就是说通过set方法进行参数和值的存储,之后通过get"键"的形式进行值的读取。

举例

Map map = new Hashmap();//创建一个mapmap.put("key","value");//给map赋值String vlaues = map.get("key");//获取map中键值为"key"的值system.out.println(vlaues );//输出结果

以上代码的运行结果:

value;

HashMap中get方法的原理

1、首先向get()方法中传递一个key

2、在get()方法中调用hash(key)

如果key!=null,返回该key的哈希值hash = key.hashCode()^ (h >>> 16),否则返回hash=0

3、在get()方法中调用getNode(hash,key)方法

获取该key的节点,并返回value

4、getNode()方法中

首先要判断Hashtable是否为空且table长度大于0且该hash值对应的table元素不为空,条件成立则判断该节点的哈希值是否等于hash,依次遍历该链表或红黑树,查找key==node.key?返回查找到的节点的value

// JDK源码 public V get(Object key) {        Node e;        return (e = getNode(hash(key), key)) == null ? null : e.value;} final Node getNode(int hash, Object key) {        Node[] tab; Node first, e; int n; K k;                //判断hashtable是否为空,key对应的tab[ ]是否为空        if ((tab = table) != null && (n = tab.length) > 0 &&            (first = tab[(n - 1) & hash]) != null) {                        //判断第一个节点的hash,key是否相等            if (first.hash == hash && // always check first node                ((k = first.key) == key || (key != null && key.equals(k))))                return first;                        //判断下一个节点是否为空            if ((e = first.next) != null) {                                //判断是否是红黑树的节点,并遍历查找元素                if (first instanceof TreeNode)                    return ((TreeNode)first).getTreeNode(hash, key);                do {                    if (e.hash == hash &&                        ((k = e.key) == key || (key != null && key.equals(k))))                        return e;                } while ((e = e.next) != null);            }        }        return null;    }

以上是"java中Hashmap的get方法怎么用"这篇文章的所有内容,感谢各位的阅读!希望分享的内容对大家有帮助,更多相关知识,欢迎关注行业资讯频道!

方法 节点 元素 内容 篇文章 结果 哈希 存储 也就是 也就是说 代码 价值 兴趣 原理 参数 小伙 小伙伴 形式 更多 条件 数据库的安全要保护哪些东西 数据库安全各自的含义是什么 生产安全数据库录入 数据库的安全性及管理 数据库安全策略包含哪些 海淀数据库安全审计系统 建立农村房屋安全信息数据库 易用的数据库客户端支持安全管理 连接数据库失败ssl安全错误 数据库的锁怎样保障安全 ios 网络安全 加密 成都网络安全培训班哪家好 刺激战场软件开发者 数据库服务器内存怎么看 湖北服务器散热片 校园网络安全宣传稿件 绍兴市县委网络安全和信息化 方舟服务器为什么进不去连接超时 数据库创建主键语法 张家口软件开发培训哪家好 计算机三级网络技术的群聊 古冶区项目网络技术诚信合作 自己做snp数据库 重庆安卓软件开发大概要多少钱 jsp表单数据库乱码问题 刺激战场外服无法连接到服务器 数据库检索abc 网络安全攻防演练2021 业务数据库监控系统架构视频 计算机网络技术不足之处 崇明区信息网络技术常见问题 珠海棋牌软件开发公司 ip网络技术课件 吉林移动机顶盒服务器地址珲春 阿里云服务器 防护 惠普服务器固态硬盘热插拔 校党委网络安全工作责任制 青少年网络安全知识竞赛举办 换了ip地址服务器进不去 虚拟化服务器安全性
0