一、快速入门
示例:有一定基础的小伙伴们可以选择性的跳过该步骤
HashMap是Java程序员使用频率最高的用于映射键值对(key和value)处理的数据类型。随着JDK版本的跟新,JDK1.8对HashMap底层的实现进行了优化,列入引入红黑树的数据结构和扩容的优化等。本文结合JDK1.7和JDK1.8的区别,深入探讨HashMap的数据结构实现和功能原理。
Java为数据结构中的映射定义了一个接口java.uti.Map,此接口主要有四个常用的实现类,分别是HashMap,LinkedHashMap,Hashtable,TreeMap,IdentityHashMap。本篇文章主要讲解HashMap以及底层实现原理。
1.HashMap的常用方法
// Hashmap存值:----------------------------------》 .put("key","value"); ----------》无返回值。
//
// Hashmap取值:----------------------------------》 .get("key");-------------------》 返回Value的类型。
//
// Hashmap判断map是否为空:-----------------------》 .isEmpty(); -------------------》返回boolean类型。
//
// Hashmap判断map中是否存在这个key:--------------》。containsKey("key");------------》返回boolean类型。
//
// Hashmap判断map中是否含有value:----------------》。containsValue("value");-------》返回boolean类型。
//
// Hashmap删除这个key值下的value:----------------》。remove("key");-----------------》返回Value的类型。
//
// Hashmap显示所有的value值:---------------------》。values(); --------------------》返回Value的类型。
//
// Hashmap显示map里的值得数量:-------------------》。size(); ----------------------》返回int类型
//
// HashMap显示当前已存的key:---------------------》 .keySet();-------------------》返回Key的类型数组。
//
// Hashmap显示所有的key和value:-----------------》。entrySet());------------------》返回Key=Value类型数组。
//
// Hashmap添加另一个同一类型的map:--------------》。putAll(map); -----------------》(参数为另一个同一类型的map)无返回值。
//
// Hashmap删除这个key和value:------------------》。remove("key", "value");-------》(如果该key值下面对应的是该value值则删除)返回boolean类型。
//
// Hashmap替换这个key对应的value值(JDK8新增):---》。replace("key","value");-------》返回被替换掉的Value值的类型。
//
// 克隆Hashmap:-------------------------------》。clone(); ---------------------》返回object类型。
//
// 清空Hashmap:-------------------------------》。clear(); ---------------------》无返回值。
2.HashMap的几个重要知识点
HashMap是无序且不安全的数据结构。
HashMap 是以key–value对的形式存储的,key值是唯一的(可以为null),一个key只能对应着一个value,但是value是可以重复的。
HashMap 如果再次添加相同的key值,它会覆盖key值所对应的内容,这也是与HashSet不同的一点,Set通过add添加相同的对象,不会再添加到Set中去。
HashMap 提供了get方法,通过key值取对应的value值,但是HashSet只能通过迭代器Iterator来遍历数据,找对象。
|