HashMap
1、简介
HashMap是一种双列集合,是Map类集合的一种具体实现类,其底层是采用散列来实现的。散列是一种在对其属性应用任何公式/算法后为任何变量/对象分配唯一代码的方法。在面向对象编程思想中,每一个对象都有一个哈希码,用来确保对象的独立。
2、结构
3、特性
键的唯一性。
允许多个null值,一个null键。
·· 是一个有序的集合。
通过键关联相应的值,我们在检索值的时候,通过查询相应的键,检索其关联的值。
4、代码实例
HashMap<Integer, String> map=new HashMap<Integer,String>();
//存值 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<String, String> map2=new HashMap<String,String>();
map2.put("ip", "192.168.1.1");
map2.put("browse","ie");
map2.put("uname","sunwukong");
map2.remove("ip");
System.out.println(map2);
5、重点了解
①需要Key 对象hashCode()来计算 Entry 对象的索引位置。对于键值使用哈希码计算哈希值,该哈希值用于计算对象在数组中的索引。
② Key 对象的equals()方法用于维护 map 中键的唯一性。
③ 空键的哈希码始终为零,并且始终存储在Entry[]的0索引中.。
④在java8中一旦哈希桶的项目数超过某个阈值,该桶将从链表切换到平衡树


浙公网安备 33010602011771号