HashMap 理解记录

来源:互联网 发布:淘宝信用卡在哪申请 编辑:程序博客网 时间:2024/06/05 19:04

java编程底层结构为数组与模拟指针(引用);HashMap为散列表结构即数组与链表的结合体Map<k,v> map = new HashMap<k,v>();当调用map.put(key,value)时,程序会通过hash()算法对key进行重新hascode()重新得到一个hash值;这个hash值就是key在散列表中数组下表的位置;若是该位置上已经存在值,则将以链表的形式链接起来,新的放在链头;若是不存在直接放入key,同时将value值放入。hash()算法加入计算,低位,高位变化,造成hash冲突。当传入形同的key时,计算出hash值,通过equal()方法,若是true,则替换;否则以列表的链表的形似链接。