jdk1.8的HashMap的replace与put的不同之处

put

HashMap的put方法在put key value的时候,首先比较key的hash值,然后在用equals比较内容,都相等的话,就会顶掉当前已经存在的key value,否则就会在最后加上这个key value

replace

而replace方法某些时候也可以达到顶掉key value的目的,但是有个前提就是当前的HashMap里必须存在能匹配到的这个key,也就是hash值和equals都相等的key

上一波jdk官方说明文档

jdk1.8的HashMap的replace与put的不同之处

然后再看看demo
jdk1.8的HashMap的replace与put的不同之处
源码
getNode方法就是获取这个key的节点,如果已经存在就替换值,否则就啥也不做
jdk1.8的HashMap的replace与put的不同之处