前言:什么是HashMap
HashMap 是一个散列表,它存储的内容是键值对(key-value)映射(HashMap$Node类型)。其中key和value的类型可以相同也可以不同
HashMap 实现了 Map 接口,根据键的 HashCode 值存储数据,具有很快的访问速度,最多允许一条记录的键为 null,不支持线程同步。
HashMap 是无序的,即不会记录插入的顺序。
HashMap 继承于AbstractMap,实现了 Map、Cloneable、java.io.Serializable 接口。
小结
1、Map接口的常用实现类:HashMap、Hashtable和Properties
2、HashMap是Map接口使用频率最高的实现类
3、HashMap 是一个散列表,它存储的内容是键值对(key-value)映射(HashMap$Node类型)
4、若是添加相同的key,则会覆盖原来的key-value(key不变,value变)
5、由于底层是以hash表的方式来存储,所以他和hashset一样不保证映射的顺序
6、HashMap没有实现同步,所以线程不安全(对于多线程的程序来说,同步指的是在一定的时间内只允许某一个线程访问某个资源,具体可以使用一下四种方式实现)