Set里的东西不能重复,那么如果有重复怎么办?
// 1. 如果key 相等
if (p.hash == hash &&
((k = p.key) == key || (key != null && key.equals(k))))
e = p;
// 2. 修改对应的value
if (e != null) { // existing mapping for key
V oldValue = e.value;
if (!onlyIfAbsent || oldValue == null)
e.value = value;
afterNodeAccess(e);
return oldValue;
}
添加元素的时候,元素相同则修改value,但是Set里面的value都是同一个object
所以:Set添加相同的元素的时候,根本没有进行插入,仅仅是修改了一个无用的value,