Map 接口
Java集合包括俩大类
一类是保存单列数据的Collection接口,Collection又包括List 和Set子接口
一类是保存双列数据的Map接口,常见的实现类为Hashmap , Hashtable TreeMap,Properties
Map 接口的特点
保存键值对的数据
键不能重复
keyvalue值可以为null
list&map 均重写了toString 可以直接打印
Hashmap
Hashmap 有俩个影响因素
一个是初始capacity: 创建hashmap时候桶的个数
一个是load factor:0.75 平衡了存储和查询
Hashmap 底层结构
创建hashMap, HashMap hashMap = new HashMap();
初始化了如下变量
table: 保存了数据的数组,如下:
table 结构如下图,每一个格子称为桶,当一个桶上有多个元素时候,一般以链表保存,当元素个数>8 的時候,以树结构保存
threshold: 临界值,超过该值就要扩容,初始化hashmap之后就变