java中Hashmap的get方法怎么用
发表于:2025-02-23 作者:千家信息网编辑
千家信息网最后更新 2025年02月23日,这篇文章主要介绍java中Hashmap的get方法怎么用,文中介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们一定要看完!java中Hashmap的get方法map中存储的是键值对,也就是说通过
千家信息网最后更新 2025年02月23日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) { Nodee; 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安全错误
数据库的锁怎样保障安全
电信77%服务器超龄
数据库1g多少mb
庆阳APP软件开发
网易土豆服务器图片表情包
鼎桥软件开发
美国高防服务器哪家好
河南优客网络技术
服务器升级带来的效果
选择游戏服务器
网络安全活动小画
c 监测数据库
网络技术大牛的长相特点
虹口区通用软件开发服务厂家直销
抖音作品本地保存还是服务器保存
中国的新型网络技术
怎么获取远程指定服务器的时间
深圳网络技术服务报价
合肥软件开发公司有哪些
商城app源码软件开发
excel安全数据库
未成年人网络安全法解读
广州新城网络技术有限公司
网络安全管理人员化
温州话数据库音频
数据库无法建立分区
小米软件开发工资待遇怎么样
access数据库连接
优科尚品网络技术广州有限公司
江门小程序软件开发
网络安全通讯管理员