-
【4】【5】如果原始的节点数组为涳或者节点数目=0则重置数组大小为默认值(resize方法)
-
【6】(n-1)&hash查找hash表中的数组索引,保证查找的位置不会大于数组长度类似于求余查询索引
-
【6】【7】通过计算的索引在数组中位置数据为null,则在该索引位置创建新的节点
-
【9-35】获取已存在的节点
-
【9-11】要查询的节点位于数组或者说链表的第一个
-
【13-14】如果是红黑树则调用红黑树中的put方法获取要查询的节点
-
【16-27】链表查询节点
第一行为数组,通过求hash值与数组的大小的位运算求得索引定位数据;添加数据的时候检查每个桶的数据大小,如果超过8(默认)个则将链表修改为红黑树存储;添加完数据检查数組大小,如有必要,重置数组大小(resize())
A:浅复制(浅克隆): 浅复制仅仅复淛所考虑的对象而不复制它所引用的对象。
b:深复制(深克隆):深复制把要复制的对象所引用的对象都复制了一遍
序列化的对象要实現Serializable接口才能实现序列化。
序列化后通过反序列化可以得到和当前对象一样的对象。
1.Map 对象 使用putall 可是实现对基本类型和String类型的深度复制对引用类型必须通过序列化与反序列化处理。
2.对象间的复制使用序列化进行深度复制。