HashMap

网友投稿 468 2022-10-28

HashMap

HashMap

/**作者:呆萌老师*☑csdn认证讲师*☑高级讲师*☑腾讯课堂认证讲师*☑网易云课堂认证讲师*☑华为开发者学堂认证讲师*☑爱奇艺千人名师计划成员*在这里给大家分享技术、知识和生活*各种干货,记得关注哦!*/

1、简介

HashMap是一种双列集合,是Map类集合的一种具体实现类,其底层是采用散列来实现的。散列是一种在对其属性应用任何公式/算法后为任何变量/对象分配唯一代码的方法。在面向对象编程思想中,每一个对象都有一个哈希码,用来确保对象的独立。

2、结构

3、特性

键的唯一性。

允许多个null值,一个null键。

··      是一个有序的集合。

通过键关联相应的值,我们在检索值的时候,通过查询相应的键,检索其关联的值。

4、代码实例

HashMap map=new HashMap(); //存值 key ==>value map.put(1, "张三"); map.put(2, "李四"); map.put(3, "王五"); //取值 System.out.println(map.get(1)); //判断是否包含某个key System.out.println(map.containsKey(2)); //判断是否包含某个value System.out.println(map.containsValue("李四")); //根据key删除 map.remove(1); System.out.println(map); HashMap map2=new HashMap(); map2.put("ip", "192.168.1.1"); map2.put("browse","ie"); map2.put("uname","sunwukong"); map2.remove("ip"); System.out.println(map2);

new HashMap(); map.put("first",new Person("刘翔", 35)); map.put("second",new Person("呆萌", 18)); Person person=map.get("second"); System.out.println(person.getName()); //遍历方法1 //1.先返回 字典对 集合 字典对是由key和value组成的 Set> set= map.entrySet(); //用加强for的方式遍历所有的字典对 for(Entry en:set) { System.out.println(en.getKey()); Person person2=en.getValue(); System.out.println(person2); } //2.用迭代器 Iterator> iterator= set.iterator(); while(iterator.hasNext()) { Entry entry=iterator.next(); System.out.println(entry); }

5、重点了解

①需要Key 对象hashCode()来计算 Entry 对象的索引位置。对于键值使用哈希码计算哈希值,该哈希值用于计算对象在数组中的索引。

② Key 对象的equals()方法用于维护 map 中键的唯一性。

③ 空键的哈希码始终为零,并且始终存储在Entry[]的0索引中.。

④在java8中一旦哈希桶的项目数超过某个阈值,该桶将从链表切换到平衡树

更多了解

​​https://edu./topic/3338.html​​

版权声明:本文内容由网络用户投稿,版权归原作者所有,本站不拥有其著作权,亦不承担相应法律责任。如果您发现本站中有涉嫌抄袭或描述失实的内容,请联系我们jiasou666@gmail.com 处理,核实后本网站将在24小时内删除侵权内容。

上一篇:Go Sync 是一个分布式系统的同步框架
下一篇:Paddle: 百度开源的分布式深度学习框架
相关文章

 发表评论

暂时没有评论,来抢沙发吧~